Rails在彼此内嵌套路线?

时间:2013-12-02 21:54:46

标签: ruby-on-rails routes

如果我有一个'语言'模型视图和控制器。然后在那里,我有轨道,然后在那里,我得上课。我将如何为课程制作路线,它是:

/languages/:language_id/tracks/:track_id/lessons/:lesson_id

这样做意味着将它们嵌套,建议不要这样做。

我的问题是如何创建一个适合这种情况的路由,并且仍然向Rails传达父母及其标识符?

1 个答案:

答案 0 :(得分:0)

是的,你是对的。你不应该将你的路线筑巢不超过1级。但是,为了获得您所使用的方法,请使用如此突出显示的浅嵌套:Section 3.7.4。这样做的主要目的是生成在父级下作用域的集合操作,以便了解层次结构。所以你可以这样做:

resources :languages, shallow: true do  
  resources :tracks do 
    resources :lessons
  end 
end