Así es como puede pasar un parámetro por el método link_to para, por ejemplo, crear un nuevo objeto con el parámetro pasado. Esta estrategia le permitiría pasar variables entre las acciones en el controlador y crear objetos con atributos predefinidos:
decir en su muestran vista, tiene una variable llamada @foo que desea pasar a su nueva acción del controlador. En cuyo caso, en su programa de vista, puede tener
<%= link_to "Link Text", new_widget_path(:foo => @foo) %>
que almacenar @foo en params [: foo], lo que permite utilizar params [: foo] en su controlador. La acción del controlador al que se dirige depende de * new_widget_path *. En este caso, será dirigido a la nueva acción en WidgetController.
Al hacer clic en Texto del enlace dirigirá rieles a la nueva acción de su WidgetController.Usted puede tener
def new
@widget = Widget.new(:foo => params[:foo])
end
Luego, en su new.html.erb archivo vista, puede permitir al usuario crear un nuevo objeto Widget con esta predefinido foo atributo ya llenado a través de una oculta campo de formulario:
<%= form_for(@widget) do |f| %>
<%= f.label :other_attribute %><br />
<%= f.text_field :other_attribute %>
<%= f.hidden_field :foo %>
<%= f.submit %>
<% end %>
que permite al usuario crear un nuevo widget con el foo atributo ya rellenado!
Gracias. No pude entender por qué la solución de Simon Bagreev funcionaría. Ahora, tengo que buscar una explicación en CSS o JavaScript. – Katarzyna