我定义了以下路线:
resources :queues do
resources :jobs
end
但是,网址的构建方式如下:queues/:queue_id/jobs
。我希望他们像queues/:queue_name/jobs
那样构建。在哪里可以自定义此行为?
答案 0 :(得分:4)
根据Rails Guides,
:param选项会覆盖默认资源标识符:id。
即:
resources :queues, param: :name do
resources :jobs
end
这就是你需要的吗?
答案 1 :(得分:0)
试试这个,应该做的是:
namespace :queues, :path => "queues/:name" do
resources :jobs
end
答案 2 :(得分:0)
您可以覆盖队列模型上的to_param
以返回queue_name。请注意,这可能会破坏您当前的控制器模型。