2010-01-26 52 views
0

我生成這樣的輸入:ActionView表單輸入法可以用內部html創建<input>標籤嗎?

<%= form.radio_button("ans", ans.num.to_s) %> 

生成的HTML是:

<input id="myform_ans_1" name="myform[ans]" type="radio" value="1" /> 

但我在找的是這個網站:

<input id="myform_ans_1" name="myform[ans]" type="radio" value="1">Some Text</input> 

是否有一個選項我可以傳入radio_button方法渲染所需的html?

據我所知可選options hash,你可以傳遞給radio_button,這隻會增加HTML標籤的屬性。

+0

這是有效的標記嗎?我甚至不知道這是什麼渲染... – jonnii 2010-01-26 19:40:35

回答

3

如果你的應用會涉及很多表單,你應該看看formtastic。您可以定義表單,像這樣:

<% semantic_form_for @article do |form| %> 

    <% form.inputs :name => "New Article" do %> 
    <%= form.input :title %> 
    <%= form.input :body %> 
    <% end %> 

    <% form.buttons do %> 
    <%= form.commit_button %> 
    <% end %> 

<% end %> 

這將生成所有HTML表單字段集,包括傳說,投入和標籤所需的標記。

1

你應該for屬性添加<label>標籤是這樣的:

<input id="myform_ans_1" ... /><label for="myform_ans_1">Foobar</label> 

而且沒有,對於沒有參數。你只需要使用標籤助手。

1
<p><%= form.radio_button("ans", ans.num.to_s) %> 

<%= form.label("Some Text") %></p> 
+1

這個工程,但我添加了'<%= form.label(:「ans _#{ans.num}」,「一些文本」)%>'爲了使標籤的屬性與輸入字段的ID相同。 – lillq 2010-01-26 20:06:52

相關問題