2012-06-17 32 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