我已经创建了一组带有admin命名空间的路由和控制器,我在使用这些新路由的链接助手时遇到了一些问题.
我看到有一些新的路径助手,例如admin_projects_path,它通向/ admin/projects.但是,我无法链接到命名空间中这些对象的show,edit,destroy等路径.我怎么做?
Rya*_*yan 72
如果您使用的是Rails 3,则可以将admin命名空间与变量一起使用,而不是编写长辅助路径名.
视图:
<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>
Run Code Online (Sandbox Code Playgroud)
控制器:
redirect_to [:admin, @project]
Run Code Online (Sandbox Code Playgroud)
tad*_*man 30
您应该看到列出的所有路由,rake routes
并且可以按名称使用这些路由以获得正确的命名空间.使用自动检测您传入:controller
和:action
手动将无法正常工作.
如果它new_thing
在路线中列出,则该方法new_thing_path
具有适当的参数.例如:
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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15985 次 |
最近记录: |