我需要一个指向所有作业的链接,标记为PHP。这个结构对我来说很有意义:
site.com/jobs/skills/php
我如何在Rails中执行此操作?
resources :jobs do
collection do
resources :skills, as: :find_by_skill
end
end
但是,当我尝试调用jobs_find_by_skill(技能)助手时,这不起作用。哪里有问题?如果无法做到这一点,你能为这种目的建议一个更好的URL结构吗?
答案 0 :(得分:0)
你在这里混淆了标签和技能。我正在使用标签来获得这个答案。
使网址最常用的方法是嵌套资源
resources :jobs do
resources :tags
end
请记住,不要将后续资源放在集合或成员块中。然后像这样有一个tags_controller.rb
class TagsController < ApplicationController
def index
@jobs = Tag.find_by_name(params[:id]).jobs
end
end
Job 和 Tag 的相应关联也需要存在。
希望能让你更进一步。