Rails嵌套资源和url助手 - 如何缩短

时间:2015-06-29 14:09:57

标签: ruby-on-rails ruby nested-resources url-helper

在我的routes.rb文件中,我有以下资源:

resources :educations do
  resources :semesters do
    resources :module_assignments do
      resources :module_exams do
        resources :module_marks
      end
    end
  end
end

生成此url帮助程序:

logonname_module_assignment_module_exams_path   GET /:student/module_assignments/:module_assignment_id/module_exams(.:format)   module_exams#index

有没有办法缩短这个?它应该重定向到同一个控制器和相同的操作。而不是

logonname_module_assignment_module_exams_path

我更喜欢像

这样的东西
module_exams_path

有没有办法解决这个问题?我希望所有这些url-helpers(索引,新建,编辑,显示等)不仅仅是显示路径。

1 个答案:

答案 0 :(得分:2)

你没有 如此深深地嵌套。

我个人只有两个深度,它只是让它更容易维护。

但这并没有回答这个问题。或许也可以。

使用您的设置。你可以这样做:

match '/:student/module_assignments/:module_assignment_id/module_exams(.:format)' => 'module_exams#index', :as => :module_exams

这可以让你module_exams_path作为帮手。