2013-07-18 44 views
1

使用Ruby表單助手,如何使用Ruby表單助手用SELECT元素

我希望用戶看到像「補了這一點」,當他們嘗試與任何空字段或未選擇選擇提交表單的彈出。

要需要一個文本字段,這個工程:

<%= f.text_field :name, :required => "required" %> 

要必須有選擇,我想這一點,但它不工作:

<%= f.collection_select :metric, Metric.all, :id, :name, :prompt => true, :required => "required" %> 

的選擇是有其選項在下拉列表中正確填充。但是,如果用戶嘗試提交時沒有選擇除默認「請選擇」之外的其他選項,則用戶應該會看到一個彈出窗口 - 它從不出現。

回答

1

您需要將Ruby的select標記與Ruby的options_from_collection_for_select結合使用。您可以將提示設置爲true或添加自定義提示,並且required必須位於大括號中,其值設置爲true。例如:

<%= select('trophy','metric', options_from_collection_for_select(Metric.find(:all), :id, :name),{:prompt => 'Select Metric'},{:required => true})%> 

其中:

- trophy是一個實例變量或一個模型對象

的名稱 - metric是是實例變量的屬性。這通常是您正在顯示其數據的表的字段/列。

- :id是關鍵

- :name是結果

相關問題