2017-03-15 22 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