我有一个报告#show view我要link_to,但我不确定如何设置路由。
在我的包中#show view:
<% link_to 'Report', package_report_path(@package) %>
这是我的routes.rb
:
Rails.application.routes.draw do
devise_for :users
resources :packages do
resources :sales, only: [:new]
resources :report, only: [:show]
end
root "packages#index"
end
如果我rake routes
:
package_report GET /packages/:package_id/report/:id(.:format) report#show
答案 0 :(得分:0)
路由设置正确,但您需要将@package
和@report
传递给package_report_path,如:
<% link_to 'Report', package_report_path(@package, @report) %>
答案 1 :(得分:0)
您的report
资源嵌套在package
资源下。因此,您必须将@package
和@report
都传递给package_report_path
辅助方法:
<% link_to 'Report', package_report_path(@package, @report) %>