我有这样的问题:我不需要嵌套所有资源,因为我只需要两个动作。
首先 - 显示与 1 个网站相关的所有报告。
第二 - 显示所有报告。
当我像这样重写 routes.rb 中的代码时:
resources :websites do
member do
match 'performance_reports' => 'performance_reports#index'
match 'performance_reports/show' => 'performance_reports#show'
end
end
//rake routes
performance_reports_website /websites/:id/performance_reports(.:format)
performance_reports#index
performance_reports_show_website /websites/:id/performance_reports/show(.:format)
performance_reports#show
这是我的行动:
before_filter :load_website
private
def load_website
@website = Website.find(params[:website_id])
end
def index
@performance_reports = @website.performance_reports
end
视图代码:
<%= link_to "Link", performance_reports_website_path(website)) %>
但是当我调用它时,我得到了错误:
Couldn't find Website without an ID
rb:7:in `load_website'
我做错了什么?