ruby-on-rails - links - rails link_to params
rieles utilizando link_to con rutas de nombres (3)
Algunos métodos requieren una opción: url como parámetro, y en esos casos puedes usar url_for para generar la ruta:
icon(:url => url_for(:controller => "admin/projects", :action => "edit", :id => @project),
:type => :edit)
He creado un conjunto de rutas y controladores con el espacio de nombres de administrador, y tuve algunos problemas al usar los enlaces de ayuda con estas nuevas rutas.
Veo que hay algunos nuevos ayudantes de ruta, como admin_projects_path que conduce a / admin / projects. sin embargo, estoy teniendo problemas para vincular las rutas de acceso, edición, destrucción, etc. de estos objetos dentro del espacio de nombres. ¿Cómo puedo hacer eso?
Si está usando Rails 3 , puede usar el espacio de nombres de su administrador con la variable en lugar de escribir el nombre de la ruta del ayudante largo.
ver:
<td><%= link_to ''Show'', [:admin, project] %></td>
<td><%= link_to ''Edit'', [:edit, :admin, project] %></td>
<td><%= link_to ''Destroy'', [:admin, project], confirm: ''Are you sure?'', method: :delete %></td>
controlador:
redirect_to [:admin, @project]
Debería ver todas sus rutas enumeradas en rake routes
y puede usarlas por su nombre para obtener el espacio de nombre adecuado. El uso de la detección automática donde pasa :controller
y :action
manualmente no funcionará como lo ha descubierto.
Si aparece como new_thing
en las rutas, entonces el método es new_thing_path
con los parámetros apropiados. Por ejemplo:
link_to(''New Project'', new_admin_project_path)
link_to(''Projects'', admin_projects_path)
link_to(@project.name, admin_project_path(@project))
link_to(@project.name, edit_admin_project_path(@project))
link_to(@project.name, admin_project_path(@project), :method => :delete)