2012-04-04 113 views
1

我有一个工作资源,每个工作都有一个位置。我如何创建一个路线,它可以按地点显示作业?换句话说,如何得到这个:/ 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的方式吗?

回答

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 

重新启动服务器,并做请求/工作/地点/伦敦

在你的动作使用PARAMS [:LOCATION_NAME]来获得“伦敦'