ネストされた 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」なしで)
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
あなたはすでにこれを行っているかもしれませんが、あなたは試しました
rake routes