代码之家  ›  专栏  ›  技术社区  ›  kolrie

如何在Rails应用程序的积垢部分进行干燥?

  •  3
  • kolrie  · 技术社区  · 16 年前

    我正在编写一个应用程序,它与其他许多应用程序类似,90%是常规积垢,10%是“果汁”,我们需要糟糕的业务逻辑和更大的灵活性和定制。

    关于这90%,我尽量坚持干燥原则。只要控制器运行,我就发现resource_控制器可以真正工作,我可以去掉该区域上的所有控制器,用通用的控制器替换它们。

    现在我想知道如何获得相同的视图。在这个应用程序上,我有一个整体的application.html.erb布局,然后我必须有另一个布局层,对于所有CRUD视图都是通用的,最后还有一个“核心”部分:

    • 在index.html.erb上,我只需要生成一个简单的表,其中包含我指定的字段和标签。

    • 对于“新建”和“编辑”,也可以使用通用表单版本,指示标签和字段(如果需要,还可以提供自定义字段)。

    什么插件和工具(甚至文章和通用指针)可以帮助我完成这项工作?

    菲利佩。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Dary    16 年前

    script/generate scaffold test name:string description:text valid:boolean script/destroy scaffold test 删除文件)。这将使您很好地了解编写4个默认Rails视图的标准方法。

    我还建议阅读“使用Rails进行敏捷Web开发”和“Rails方式”中的相关章节。

    如果您有需要清理的现有视图,本期Railscasts非常棒: Cleaning Up the View

    达里

        2
  •  1
  •   Chirantan    16 年前

    如果已干燥控制器,现在希望干燥视图,一种方法是 render :action => *actionname* 编辑 , 刚出现的 , 列表 显示 那么你的标题应该是 Editing <%= @type %> 很可能会变成 酒吧 redirect_to render :action 仅渲染视图,不调用其试图渲染的操作的控制器操作。

        3
  •  1
  •   pascal    15 年前

    看起来有一个新的gem非常接近您的需求:

    http://github.com/codez/dry_crud

    基于公共超类(CrudController),您可以继承各种模型控制器的CRUD功能,并调整其中的特殊功能。这很可能是你已经做过的。