Ruby on Rails路线:收集资源
问题描述:
我需要一个链接,指向所有作业,标记为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结构?
答
你混了标签和技能在这里。我正在使用标签为此答案。
最常见的方法就是让你的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
工作和标签必须有作为的对应的关联。
希望能让你更进一步。