私はhas_one関係を持っています:
# supplier.rb
has_one :presentation
...
# presentation.rb
belongs_to :supplier
...
そしてそれらのための次のネストされたルート:
# routes.rb
resources :suppliers do
resource :presentation
end
実行rake routes
すると:
supplier_presentation POST ... {:action=>"create", :controller=>"presentations"}
new_supplier_presentation GET ... {:action=>"new", :controller=>"presentations"}
edit_supplier_presentation GET ... {:action=>"edit", :controller=>"presentations"}
GET ... {:action=>"show", :controller=>"presentations"}
PUT ... {:action=>"update", :controller=>"presentations"}
DELETE ... {:action=>"destroy", :controller=>"presentations"}
ショーアクションにname_helperがないのはなぜですか?
私は次のようなことをして問題を無効にすることができます:
resources :suppliers do
resource :presentation, :except => :show do
get "" => "presentations#show", as: "presentation"
end
end
ルートを与える:
presentation_supplier_presentation GET ... {:controller=>"presentations", :action=>"show"}
しかし、今ではそれはそれに対処する正しい方法ではありません。
助言がありますか?
-
(編集)
supplier_presentation_path(@supplier)
動作しますが、なぜですか?rake routes
...シェルで実行すると表示されません...