Ruby on rails RubyonRails路由:关于集合的资源
我需要一个链接,它将指向所有作业,标记为PHP。这种结构对我来说很有意义: site.com/jobs/skills/php 如何在Rails中实现这一点Ruby on rails RubyonRails路由:关于集合的资源,ruby-on-rails,routing,Ruby On Rails,Routing,我需要一个链接,它将指向所有作业,标记为PHP。这种结构对我来说很有意义: site.com/jobs/skills/php 如何在Rails中实现这一点 resources :jobs do collection do resources :skills, as: :find_by_skill end end 但是,当我试图通过技能(skill)助手调用jobs\u find\u时,这不起作用。哪里有问题?如果不能做到这一点,你能为这种目的提出一个更好的U
resources :jobs do
collection do
resources :skills, as: :find_by_skill
end
end
但是,当我试图通过技能(skill)助手调用jobs\u find\u时,这不起作用。哪里有问题?如果不能做到这一点,你能为这种目的提出一个更好的URL结构吗?你在这里混淆了标签和技能。我用标签来回答这个问题
使url工作的最常见方法是嵌套资源
resources :jobs do
resources :tags
end
记住不要将后续资源放在集合或成员块中。然后有一个标签_controller.rb,例如
class TagsController < ApplicationController
def index
@jobs = Tag.find_by_name(params[:id]).jobs
end
end
class标记控制器
作业和标记的对应关联也需要存在
希望这能让你走得更远