ruby on rails - validar - Enlace o botón Rails 3 que ejecuta acción en el controlador
rutas rest en rails (1)
Necesitas crear una ruta para ello.
Por ejemplo:
resources :products do
put :update_specs, :on => :collection
end
También por defecto link_to
buscará un método GET
en sus rutas. Si desea manejar un método POST
o PUT
, debe especificarlo agregando {:method => :post }
o {:method => :put }
como un parámetro, como:
link_to "Update Specs", {:controller => :products, :action => :update_specs}, {:method => :put }
O puede usar button_to
lugar de link_to
que maneja el método POST
forma predeterminada.
En RoR 3, solo quiero tener un enlace / botón que active alguna acción / método en el controlador. Específicamente, si hago clic en un enlace ''update_specs'' en una página, debería ir al método ''update_specs'' en el controlador de mis productos. He encontrado sugerencias para hacer esto en este sitio:
link_to "Update Specs", :controller => :products, :action => :update_specs
Sin embargo, obtengo el siguiente error de enrutamiento cuando hago clic en este enlace:
Error de enrutamiento Ninguna ruta coincide con {: action => "update_specs",: controller => "products"}
He leído sobre enrutamiento pero no entiendo por qué debería tener que enrutar este método si todos los otros métodos son accesibles a través de recursos: productos.