我有一個嵌套在軌型號:Rails的路線嵌套模式
# app/models/frontend/item.rb
class Frontend::Item < Item
end
當我打電話
form_for(@frontend_item)
它試圖去'/前端/項目'路徑。
有沒有辦法讓它去「/項目」,而不是(不繼承「/前端」)
我有一個嵌套在軌型號:Rails的路線嵌套模式
# app/models/frontend/item.rb
class Frontend::Item < Item
end
當我打電話
form_for(@frontend_item)
它試圖去'/前端/項目'路徑。
有沒有辦法讓它去「/項目」,而不是(不繼承「/前端」)
的解決方案是創建一個範圍段:
# config/routes.rb
scope :module => "frontend", :as => 'frontend' do
resources :items
end
我看不到這樣的例子。請注意,我在路由中嵌套模型而不是資源。 – Boris
您已明確將Frontend::Item
命名爲Item
的獨立模型。因此,frontend_item
正確路由到/frontend/items/:id
。
要覆蓋,下面的行添加到您的路徑文件:
# routes.rb
match 'item/:id' => 'Frontend::Item#show'
注意這將現在爲您Item
模型的路線衝突,所以你應該刪除這條路線。
你似乎是混亂的資源和車型。模型不是嵌套的,而是包含的。所以,您的FrontEnd包含項目。 – Salil