【发布时间】:2011-08-11 16:40:19
【问题描述】:
我有一个 has_one 关系:
# supplier.rb
has_one :presentation
...
# presentation.rb
belongs_to :supplier
...
以及它们的以下嵌套路由:
# routes.rb
resources :suppliers do
resource :presentation
end
运行rake routesgives:
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)
确实有效,但是为什么?...在我的shell上执行rake routes时它不会出现...
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 routing nested-resources