2009-12-09 52 views
2

我在Rails中使用button_to和表單助手。我需要根據代碼中的條件設置html屬性。更確切地說,我只有在某個條件爲真的情況下才需要禁用button_to組件。在Rails的Form Helpers中使用條件

我該如何做到這一點?下面的代碼片段。

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => true%> 

在上面的聲明中我可能需要:disabled => true或者我可能不需要它。 除了複製代碼行之外,還有一種乾淨的方式嗎?

乾杯 -Priyank

回答

7

可以代替「真」與條件得到你所需要的功能(真的返回一個布爾值的表達式)殘疾人。就像這樣:

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => obj.disabled? %> 

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => x == y %> 

2

什麼是真或假的條件?

如果在控制器中觸發它,您可以設置disabledbutton值,或者寫一個幫助器,將條件作爲變量,並打印出結果。

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", @disabled %>

is_disabled? ? @disabled = {:disabled => 'disabled'} : @disabled = false 
+0

我試圖禁用=>真假,但不起作用。什麼鐵軌生成總是:禁用=>禁用 所以我不知道如果真和假是一個選項作爲禁用的值。 – Priyank 2009-12-09 13:55:02

+1

:disabled選項取值爲true或false,但HTML會根據convert_boolean_attributes的來源生成「disabled =」disabled「」或不生成任何內容! http://apidock.com/rails/ActionView/Helpers/UrlHelper/convert_boolean_attributes! – 2009-12-09 15:36:16