2012-06-17 30 views
0

我正在尝试使用资源为我的资源自动生成路由。命名空间是admin,资源是作者。以下代码似乎适用于大多数情况。rails routes - Resource not appending _path

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 

在结束。我对此非常青睐。我已经搜索和搜索,但我可能只是用错误的术语来找到答案。任何帮助表示赞赏。谢谢!

CNC中我要补充一点,

<%= 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

请贴上您的'routes.rb'的内容。你定义了'admin_author_index'而不是'admin_author'。 – shime

回答

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了解更多。

+0

谢谢你。我想我陷入了我没有看到的东西! – nctiggy