Ruby on rails 嵌套模型的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的模型。因此
# 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