當您使用form_for(@model...)
你可以這樣做:Rails的FormTagHelper漏掉重要的選擇和collection_select方法
collection_select(:subscription, :duration, ["Some", "Values"], :to_s, :to_s, {:prompt => true})
和輸出是這樣的:
<select id="subscription_duration" name="subscription[duration]">
<option value="">Please select</option>
<option value="Some">Some</option>
<option value="Values">Values</option>
</select>
如果您使用的一種形式沒有一個模型,你沒有那個漂亮的幫助器方法來爲你創建<option>
標籤。相反,你必須這樣做:
select_tag("subscription", '<option value="Some">Some</option><option value="Values">Values</option>')
表單助手和FormOptionsHelper工作在一起形式包裝的模型上,和他們有select
和collection_select
,使生活更輕鬆。然而,對於普通的form_tag
(沒有模型),沒有這樣的FormOptionsTagHelper。 FormTagHelper有一個select_tag
方法,但您必須手動輸出這些浪費的選項。這似乎已經在某個地方得到了解決。
我可以編寫自己的幫手來擺脫手動編寫這些選項標籤,但這就是FormOptionsHelper#collection_select
所做的......是否有沒有模型的表單的等價物?