我终于开始从头开始制作一个 Rails 应用程序,而且我已经掌握了窍门,但唯一的问题是制作所有模型/控制器变得非常重复,并且完全抛弃了整个 DRY 概念,因为我'基本上是复制控制器并重命名它们/添加/禁用字段。我有:
项目 人员 任务 消息
等等,前三个需要几乎具有相同的布局和 CRUD。每次搭建脚手架时不必手动创建所有动作/视图的唯一方法是什么?如果是这样,我需要注意脚手架还会产生哪些其他东西。过去我一直很谨慎地使用它,因为我想知道我的应用程序在教程中是如何工作的。
我终于开始从头开始制作一个 Rails 应用程序,而且我已经掌握了窍门,但唯一的问题是制作所有模型/控制器变得非常重复,并且完全抛弃了整个 DRY 概念,因为我'基本上是复制控制器并重命名它们/添加/禁用字段。我有:
项目 人员 任务 消息
等等,前三个需要几乎具有相同的布局和 CRUD。每次搭建脚手架时不必手动创建所有动作/视图的唯一方法是什么?如果是这样,我需要注意脚手架还会产生哪些其他东西。过去我一直很谨慎地使用它,因为我想知道我的应用程序在教程中是如何工作的。
在我看来,脚手架不适合新的 Rails 程序员,只有在你自己弄清楚 Rails 并以批评的方式使用后才能使用它。它可能会生成您不需要的整个文件,定义不需要的路线等......
您可以在此处查看脚手架创建的全部详细信息
至于您正在制作的重复控制器,我可以建议使用 gem InheritedResources消除很多这种重复(至少在您进行基本 CRUD 控制器操作时)
InheritedResources 为您设置基本的控制器 index/show/destroy/create/edit 操作,您所要做的就是使用以下方法从它继承:
class ProjectsController < InheritedResources::Base
end
如果必须,您可以通过自己定义操作来覆盖操作。