0

ネストされた Rails モデルがあります。

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

電話すると

form_for(@frontend_item)

「/frontend/items」パスに移動しようとします。

代わりに「/items」に移動する方法はありますか(継承された「/frontend」なしで)

4

4 に答える 4

0

レールガイドに必要なものの非常に良い例があります。

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

〜チャールズ〜

于 2012-06-04T15:25:01.643 に答える
0

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 に答える
0

あなたはすでにこれを行っているかもしれませんが、あなたは試しました

rake routes
于 2012-06-04T15:20:49.360 に答える