我有一个乔布斯资源,每个职位都有一个位置。如何创建路线,按位置显示作业?换句话说,如何得到这个:/ jobs / locations / london
位置本身就是一个单独的模型。
我试过了:
resources :jobs do
collection do
match 'locations/:id' => 'jobs#find_by_location', as: :jobs_find_by_location, via: :get
end
end
但这不起作用:
link_to @location.name, jobs_find_by_location(@location)
最干净的Rails方式是什么?
答案 0 :(得分:0)
尝试
match '/jobs/locations/:location_name', :controller => 'locations', :action => 'action_name', :as => jobs_find_by_location, :via => :get
OR
match '/jobs/locations/:location_name' => 'locations#action_name', :as => jobs_find_by_location, :via => :get
重新启动服务器并执行request / jobs / locations / london
在你的行动中使用params [:location_name]来获取'伦敦'