Rails路由,在资源路由中使用除model_id之外的东西

时间:2013-05-09 21:32:18

标签: ruby-on-rails

我有一些嵌套资源。这是一个例子:

 resources :contests do
    resources :scoring_periods do
      resources :entries
    end
  end

我最终希望有一个如下所示的网址:

/contests/1/scoring_periods/10/entries/new

这里的问题是scoring_periods中的/ 10 /不是ScoringPeriod #id。在这种情况下,它是另一个名为period_count的属性。我希望能够在URl中引用period_count而不是ID,因为我的系统以后可能会有数百万个ID,而且在那里列出它并不直观。实际的period_count数字对参加此次比赛的用户更有意义。

有没有办法在routes.rb中使用资源条目,以便允许我通过:scoring_period_id以外的属性引用scoring_period?

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

resources :contests do
  scope path: '/scoring_periods/:period_count/' do
    resources :entries
  end
end