所以我有一个项目有这样的路线:
的routes.rb
resources :projects do
resources :messages
resources :lists do
resources :tasks
end
end
但是,我想为我创建的每个任务添加时间跟踪,将我的路由转换为:
的routes.rb
resources :projects do
resources :messages
resources :lists do
resources :tasks do
resources :timetracks
end
end
end
我想构建我的MVC的基础知识,然后进行必要的更改或编辑,但我如何使用脚手架以使我的控制器和视图符合我的路由?或者甚至可能吗?
进一步详述,当我将其输入控制台时:
rails generate scaffold timetrack hours:float date:datetime description:string task:references
我得到了正常的脚手架文件,但所有路由的格式都是这样的:
http://localhost:3000/timetracks/
真的,我希望他们成为:
http://localhost:3000/projects/1/lists/1/tasks/1/timetracks/
我知道你可以在控制器和视图中手动执行此操作,但在执行我的脚手架时,有什么办法可以生成这个吗?
答案 0 :(得分:7)
据我所知,没有办法通过标准的rails3脚手架创建嵌套路由,但是,我做了一个快速搜索并提出了这个宝石:https://github.com/amatsuda/nested_scaffold
作为参考,我通过类似的问题找到了它:Nested scaffold generator for Rails 3?
希望有所帮助。