2
我正在使用Ruby on Rails 3.0.7,並試圖正確設置(儘可能)我的路由器。如何改善使用名稱空間與名稱空間具有相同名稱的路由器
在routes.rb
文件我有:
namespace :articles do
resources :categories
end
resources :articles
爲了按預期方式工作,我必須狀態namespace
的resources :articles
語句之前使路由器攔截請求,並引導這些相關的命名空間文章。否則(如果resources :articles
是namespace
之前所述),因爲它是從上面的代碼可以扣除,像
<my_site>/articles/1
<my_site>/articles/new
<my_site>/articles/1/edit
...
所有請求都被攔截,這樣的文章命名空間將是「很難」達到。
ActiveRecord::RecordNotFound
Couldn't find Article with ID=categories
那麼,我該怎麼處理這種情況,我該如何提高路由器代碼:例如,如果你犯了一個要求如<my_site>/articles/categories
它下面會產生一個錯誤?你有什麼建議?
跑在我的控制檯命令rake routes
我得到這樣的(因爲它是有序的):
articles_categories GET /articles/categories(.:format)
{:action=>"index", :controller=>"articles/categories"}
POST /articles/categories(.:format)
{:action=>"create", :controller=>"articles/categories"}
new_articles_category GET /articles/categories/new(.:format)
{:action=>"new", :controller=>"articles/categories"}
edit_articles_category GET /articles/categories/:id/edit(.:format)
{:action=>"edit", :controller=>"articles/categories"}
articles_category GET /articles/categories/:id(.:format)
{:action=>"show", :controller=>"articles/categories"}
PUT /articles/categories/:id(.:format)
{:action=>"update", :controller=>"articles/categories"}
DELETE /articles/categories/:id(.:format)
{:action=>"destroy", :controller=>"articles/categories"}
articles GET /articles(.:format)
{:action=>"index", :controller=>"articles"}
POST /articles(.:format)
{:action=>"create", :controller=>"articles"}
new_article GET /articles/new(.:format)
{:action=>"new", :controller=>"articles"}
edit_article GET /articles/:id/edit(.:format)
{:action=>"edit", :controller=>"articles"}
article GET /articles/:id(.:format)
{:action=>"show", :controller=>"articles"}
PUT /articles/:id(.:format)
{:action=>"update", :controller=>"articles"}
DELETE /articles/:id(.:format)
{:action=>"destroy", :controller=>"articles"}
你的耙路線說什麼? – felix
@Felix - 我更新了問題。 – Backo