0

我有一个嵌套的 rails 模型:

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

当我打电话

form_for(@frontend_item)

它试图转到“/frontend/items”路径。

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

4

4 回答 4

0

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

rake routes
于 2012-06-04T15:20:49.360 回答
0

有一个很好的例子可以准确地说明您在 rails 指南中想要什么:

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

~查尔斯~

于 2012-06-04T15:25:01.643 回答
0

您已将 a 明确命名Frontend::Item为与Item. 因此,frontend_item正确路由到/frontend/items/:id.

要覆盖它,将以下行添加到您的路由文件中:

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

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

于 2012-06-04T18:24:38.737 回答
0

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

# config/routes.rb
scope :module => "frontend", :as => 'frontend' do
  resources :items
end
于 2012-07-02T08:05:58.963 回答