¿Pueden los métodos de entrada de forma ActionView crear etiquetas con el código HTML interno?

StackOverflow https://stackoverflow.com/questions/2142053

  •  22-09-2019
  •  | 
  •  

Pregunta

estoy generando una entrada como esta:

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

el HTML generado es:

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

Pero lo que yo estoy buscando es este código HTML:

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

¿Hay una opción que pueda pasar en el método render radio_button el html deseada?

A mi entender la options hash opcional que se puede pasar a radio_button, esto sólo añade atributos a la etiqueta html.

¿Fue útil?

Solución

Si su aplicación va a implicar una gran cantidad de formas que sin duda debe echar un vistazo a Formtastic . Puede definir sus formas, así:

<% 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 %>

Esto generará todo el marcado requerido para formularios HTML incluyendo fieldsets, leyendas, entradas y etiquetas.

Otros consejos

Se debe añadir etiquetas <label> con el atributo for como esto:

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

Y no, no hay ningún parámetro para eso. Usted sólo tiene que utilizar el ayudante etiqueta.

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

<%= form.label("Some Text") %></p>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top