sintax rails for escape comment ruby-on-rails form-for

ruby-on-rails - escape - rails slim for



Rieles: utilizando form_ para varias veces(ID de DOM) (3)

Creo que puedes agregar este param:

:html => { :id => ''id_i_want'' }

Me gustaría usar form_for helper varias veces para el mismo modelo en la misma página. Pero los campos de entrada utilizan el mismo atributo de ID (en el HTML), por lo que al hacer clic en la etiqueta de un campo en otro formulario, se seleccionará la misma entrada en el primer formulario.

¿Hay una solución además de configurar todos los atributos manualmente a través de: para => "título _ # {item.id}" y: id => "título _ # {item.id}"?

Utilizando Rails 3.0.9


Encontré la respuesta yo mismo, uno puede pasar una opción de índice a form_for. Esa cadena se utilizará en el id y para los atributos:

<%= form_for @person, :index => @person.id do |f| %> <%= f.label :name %> <%= f.text_field :name %> <%= f.submit %> <% end %>

analizará

<form accept-charset="UTF-8" action="/person/11" class="edit_person" id="edit_person_11" method="post"> <!-- Hidden div for csrf removed --> <label for="person_11_name">Name</label> <input id="person_11_name" name="person[11][name]" size="30" type="text" /> <input name="commit" type="submit" value="Update Person" /> </form>

Note que también cambiará el nombre de las entradas.


Puede usar :namespace => ''some_unique_prefix'' opción. A diferencia de :index , esto no cambiará el valor utilizado en el atributo de name .

También es posible utilizar una matriz, por ejemplo, cuando tiene formularios anidados o formularios diferentes que tienen algunos campos en común :namespace => [@product.id, tag.id] o :namespace => [:product, @product.id]