Ruby on rails 嵌套模型的Rails路由

Ruby on rails 嵌套模型的Rails路由,ruby-on-rails,ruby-on-rails-3,nested-routes,Ruby On Rails,Ruby On Rails 3,Nested Routes,我有一个嵌套的rails模型: # app/models/frontend/item.rb class Frontend::Item < Item end 它尝试转到'/frontend/items'路径 有没有办法让它转到'/items'而不是(没有继承的'/frontend')您可能已经这样做了,但已经尝试过了 rake routes 有一个非常好的例子,正好说明了您在rails指南中想要什么: ~Charles~您已经明确地将前端::Item命名为一个独立于Item的模型。因此

我有一个嵌套的rails模型:

# app/models/frontend/item.rb
class Frontend::Item < Item
end
它尝试转到'/frontend/items'路径


有没有办法让它转到'/items'而不是(没有继承的'/frontend')

您可能已经这样做了,但已经尝试过了

rake routes

有一个非常好的例子,正好说明了您在rails指南中想要什么:


~Charles~

您已经明确地将
前端::Item
命名为一个独立于
Item
的模型。因此,
frontend_项
正确路由到
/frontend/items/:id

若要覆盖该选项,请将以下行添加到路由文件中:

# routes.rb
match 'item/:id' => 'Frontend::Item#show'

请注意,现在这将与
项目的路由冲突,因此您应该删除该路由。

解决方案是创建一个范围节:

# config/routes.rb
scope :module => "frontend", :as => 'frontend' do
  resources :items
end

我没有看到这样的例子。。请注意,我在路由中嵌套模型而不是资源。不确定查看路由会有什么帮助。。你能详细说明一下吗?你似乎混淆了资源和模型。模型不是嵌套的,而是包含的。因此,您的前端包含项目。
# config/routes.rb
scope :module => "frontend", :as => 'frontend' do
  resources :items
end