2012-03-11 98 views
1

我需要一个链接,指向所有作业,标记为PHP。这种结构对我来说很有意义:Ruby on Rails路线:收集资源

site.com/jobs/skills/php

如何在Rails的做到这一点?

resources :jobs do 
    collection do 
     resources :skills, as: :find_by_skill 
    end 
    end 

但是,当我尝试调用jobs_find_by_skill(skill)helper时,这不起作用。问题在哪里?如果不能这样做,你能否为这种目的建议一个更好的URL结构?

回答

0

你混了标签技能在这里。我正在使用标签为此答案。

最常见的方法就是让你的URL的工作将被嵌套资源

resources :jobs do 
    resources :tags 
end 

切记不要把后续的资源集合或成员块。然后有这样的tags_controller.rb例如

class TagsController < ApplicationController 
    def index 
    @jobs = Tag.find_by_name(params[:id]).jobs 
    end 
end 

工作标签必须有作为的对应的关联。

希望能让你更进一步。