我有一个嵌套的 rails 模型:
# app/models/frontend/item.rb
class Frontend::Item < Item
end
当我打电话
form_for(@frontend_item)
它试图转到“/frontend/items”路径。
有没有办法让它转到'/items'(没有继承的'/frontend')
我有一个嵌套的 rails 模型:
# app/models/frontend/item.rb
class Frontend::Item < Item
end
当我打电话
form_for(@frontend_item)
它试图转到“/frontend/items”路径。
有没有办法让它转到'/items'(没有继承的'/frontend')
您可能已经这样做了,但您尝试过
rake routes
您已将 a 明确命名Frontend::Item
为与Item
. 因此,frontend_item
正确路由到/frontend/items/:id
.
要覆盖它,将以下行添加到您的路由文件中:
# routes.rb
match 'item/:id' => 'Frontend::Item#show'
请注意,这现在将与您的Item
模型的路线冲突,因此您应该删除该路线。
解决方案是创建一个范围部分:
# config/routes.rb
scope :module => "frontend", :as => 'frontend' do
resources :items
end