Могут ли методы ввода формы ActionView создавать теги <input> с внутренним html?
Я генерирую ввод, как это:
<%= form.radio_button("ans", ans.num.to_s) %>
Сгенерированный HTML-код:
<input id="myform_ans_1" name="myform[ans]" type="radio" value="1" />
Но то, что я ищу, это HTML:
<input id="myform_ans_1" name="myform[ans]" type="radio" value="1">Some Text</input>
Есть ли вариант, который я могу передать в метод radio_button для отображения желаемого HTML?
Как я понимаю необязательно options hash
что вы можете передать radio_button
, это только добавляет атрибуты к тегу html.
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-форм, включая наборы полей, легенды, входные данные и метки.
<p><%= form.radio_button("ans", ans.num.to_s) %>
<%= form.label("Some Text") %></p>
Вы должны добавить <label>
теги с for
атрибут, как это:
<input id="myform_ans_1" ... /><label for="myform_ans_1">Foobar</label>
И нет, для этого нет параметров. Вам просто нужно использовать помощник метки.