2017-03-15 67 views
0

在“错误的”输入我有一个表格链接到表。表中的一列是“吸烟者”。我需要该列中的“1”或“0”。为此,我创建了另一个名为“dummysmoker”的假人。如何从Ruby的拒绝on Rails的

dummysmoker列将由用户填写,如果用户回答“是”(并且在dummysmoker列中输入yes),则设置为将相应的“吸烟者”列分配为“1”。

虽然仅在用户在虚拟列中放置“是”时才生成“1”,但在任何其他情况下生成“0”(例如“否”,“不”,“地狱,不! ,...)。

不过,我想限制用户只能够选择“是”或“否”(也许通过一个单选按钮标签?)。

的问题是,我不知道如何为包括单选按钮标签建议的数据项,我只是想出一个办法将它们连接到现有的表项。

有没有人有什么建议?

+2

你不需要'dummysmoker'列。您可以创建一个表单域,一个select或单选按钮,根据响应输入1或0。 –

+0

@BrandonCordell呃...照顾评估?我认为我的想法是天才:D – Krawalla

+2

请参阅下面的@ uDaY的答案。 –

回答

2

有几个方式来实现你想要什么:

  1. 您可以使用单选按钮或
  2. 下拉列表中选择

使用单选按钮:

<% form_for(@myform) do |f| %> 
    <%= f.radio_button :smoker, '1' %> 
    <%= f.label :smoker, 'Yes', :value => '1' %> 
    <%= f.radio_button :smoker, '0' %> 
    <%= f.label :smoker, 'No', :value => '0' %> 
<% end %> 

使用下拉菜单:

<%= select_tag(:smoker, options_for_select([['Yes', 1], ['No', 0]])) %> 
+2

您的radio_button值应该是1和0,而不是yes和no。 – elc

+0

哎呀!这就是我没有咖啡时发生的事情......谢谢!作出了改变 – uday

+0

非常感谢你:) – Krawalla