私は短い link_to 構文が本当に好きです:
link_to "Ad", ad
ただし、デフォルトでは、マガジンの下にネストされているため存在しない ad_path メソッドを使用しようとします。使用する正しいパスは magazine_ad_path です
これはまだうまくいきます:
link_to "Ad", magazine_ad_path(ad)
しかし、ルートで階層が定義されているため、magazine_ad_path の呼び出しは冗長な気がします。
広告属_雑誌と雑誌には_多くの広告があります
ルートや他の場所でデフォルトの方法を変更する方法はありますか?
短い「ピシアー」構文は、ここの 2 番目の例です: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to
編集:申し訳ありませんが、URL 構造が明確ではありませんでした。/magazine/5/ad/12 である必要があります。広告の外部キーのために雑誌のIDが技術的に必要ないことは知っていますが、それが彼らがURLを望んでいる方法です。
ここに私のroutes.rbがあります
MyApp::Application.routes.draw do
resources :magazines do
resources :ads do
member do
get :info, :preview, :send, :fetch
put :publish
end
end
end
end