rails routes - 资源不附加_path

时间:2012-06-17 22:08:29

标签: ruby-on-rails-3 routes

我正在尝试使用资源自动为我的资源生成路由。命名空间是admin,资源是author。以下代码似乎适用于大多数情况。

namespace :admin do
  resources :author
end

当我跑步时

rake routes

我得到以下

admin_author_index GET    /admin/author(.:format)          admin/author#index
                   POST   /admin/author(.:format)          admin/author#create
  new_admin_author GET    /admin/author/new(.:format)      admin/author#new
 edit_admin_author GET    /admin/author/:id/edit(.:format) admin/author#edit
      admin_author GET    /admin/author/:id(.:format)      admin/author#show
                   PUT    /admin/author/:id(.:format)      admin/author#update
                   DELETE /admin/author/:id(.:format)      admin/author#destroy

据我所知,我期待命名路径有一个

_path

最后。我对此很绿。我搜索和搜索过,但我可能只是使用错误的术语来找到答案。任何帮助表示赞赏。谢谢!

-edit-我应该添加

<%= form_for [:admin, @author] do |f| %>
<%= f.label :first_name %>
<%= f.text_field :first_name %>

<%= f.label :last_name %>
<%= f.text_field :last_name %>
<%= f.submit %>
<% end %>

给我错误,说找不到admin_author_path

2 个答案:

答案 0 :(得分:1)

没有。路径名称没有_path后缀。

有关详细信息,请参阅Rails routing from inside in。它详细解释了路由。

答案 1 :(得分:1)

您可以将_path或_url附加到这些。基本上一切看起来都不错。

所以例如

admin_author_index GET    /admin/author(.:format)          admin/author#index

辅助方法可以是admin_author_index_path或admin_author_index_url。这些帮助程序可以在控制器和视图中使用,以指向控制器/操作或URL。阅读此链接http://guides.rubyonrails.org/routing.html以了解更多信息。