2015-08-08 202 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 –