2015-08-08 258 views
0

我有兩個複選框,需要獨佔。你我改變此軌道上的紅寶石check_box

%p Are you a Borrower or Lender? 
     = f.check_box :borrower, {}, "true", "false" 
     Borrower 
     = f.check_box :lender, {}, "true", "false" 
     Lender 

如何用戶只能選擇borrowerlender選項?目前,可以檢查兩個框。

編輯#2:

所以,從我的理解,我需要給radio_button相同的名稱,以便不要混淆瀏覽器,然後定義一個方法。請提供一些關於如何編寫這種方法的指導。

= f.radio_button(:lender_or_borrower, :lender) 
Lender 
= f.radio_button(:lender_or_borrower, :borrower) 
Borrower 
+0

確定是否有一個被選中,如果在檢查另一個之前取消選中它。 –

+0

呵呵...........? – Liroy

+0

當一個複選框被選中時,確定其他複選框是否已被選中。如果是,請在檢查當前複選框之前取消選中它。這是非常標準的做法。 –

回答

1

正如您在您的評論中提到,因爲它在語義上纔有意義,有一次選擇一個選項時,您應該使用select或radio_buttons。 例如一個選擇看起來是這樣的:

f.select(:borrower_or_lender, [['Borrower, borrower'], ['Lender', 'lender']]) 

參見http://guides.rubyonrails.org/form_helpers.html#select-boxes-for-dealing-with-models

編輯:單選按鈕:兩個單選按鈕必須具有相同的方法/屬性(您傳遞給第一個參數助手):

= f.radio_button(:borrower_or_lender, 'borrower') 
Borrower 
= f.radio_button(:borrower_or_lender, 'lender') 
Lender 

又見​​或http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-radio_button

+0

好的,首先謝謝!這有幫助。其次,我決定去radio_button路線,我會用新的代碼更新我的答案。但是,我仍然無法弄清楚如何創建一個方法來讓鋼軌選擇一個或另一個。 – Liroy

+0

@liroy http://meta.stackexchange.com/questions/43478/exit-strategies-for-chameleon-questions –