Ruby on Rails:路线和资源
问题描述:
我有一个工作资源,每个工作都有一个位置。我如何创建一个路线,它可以按地点显示作业?换句话说,如何得到这个:/ jobs/locations /伦敦Ruby on Rails:路线和资源
该位置是一个单独的模型本身。
我想:
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的方式吗?
答
尝试
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
重新启动服务器,并做请求/工作/地点/伦敦
在你的动作使用PARAMS [:LOCATION_NAME]来获得“伦敦'