0

我正在尝试使用资源为我的资源自动生成路线。命名空间是 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

4

2 回答 2

1

不,路线名称没有_path后缀。

有关详细信息,请参阅从内到外的 Rails 路由。它非常详细地解释了路由。

于 2012-06-17T22:13:38.447 回答
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以了解更多信息。

于 2012-06-17T22:17:12.133 回答