Rails路由嵌套模型

时间:2012-06-04 15:19:06

标签: ruby-on-rails ruby-on-rails-3 nested-routes

我有一个嵌套的rails模型:

# app/models/frontend/item.rb
class Frontend::Item < Item
end

当我打电话

form_for(@frontend_item)

它会尝试转到'/ frontend / items'路径。

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

4 个答案:

答案 0 :(得分:0)

你可能已经这样做但是你试过

rake routes

答案 1 :(得分:0)

在导轨指南中有一个非常好的例子:

http://guides.rubyonrails.org/routing.html#limits-to-nesting

〜查尔斯〜

答案 2 :(得分:0)

您已明确将Frontend::Item命名为Item的单独模型。因此,frontend_item正确路由到/frontend/items/:id

要覆盖它,请将以下行添加到路径文件中:

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

请注意,现在这将与您的Item模型的路线冲突,因此您应该删除该路线。

答案 3 :(得分:0)

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

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