我正在尝试使用资源自动为我的资源生成路由。命名空间是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
答案 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以了解更多信息。