我是铁轨的初学者。在我的应用程序中编写其中一个视图时,我最终得到了一大块(约 100 行)丑陋的代码。它相当不通用,因为它主要由一些条件查找到特定于视图的常量散列组成。我想从视图文件中删除这段丑陋的代码。
放置这段代码的最佳位置是什么?具体来说,辅助模块是否适合此类非通用代码?
我是铁轨的初学者。在我的应用程序中编写其中一个视图时,我最终得到了一大块(约 100 行)丑陋的代码。它相当不通用,因为它主要由一些条件查找到特定于视图的常量散列组成。我想从视图文件中删除这段丑陋的代码。
放置这段代码的最佳位置是什么?具体来说,辅助模块是否适合此类非通用代码?
将代码放入 中app/helpers/application_helper.rb
,然后任何使用application
布局呈现的视图都可以访问它。
另一种选择是定义一个自定义帮助模块,它不一定与给定的视图或控制器相关联(请参阅下面链接的视频),并且include
它位于您希望具有该功能的视图/控制器的模块中。
辅助模块确实是用来调用它们的,但是要小心你如何声明你的方法,你可以在辅助模块中定义的内容是有限制的。
这是一篇很好的文章,概述了2011 年 5 月的帮助模块
这是一个 RailsCast 概述自定义帮助模块(即自定义模块不一定与给定的控制器或视图相关联)。简短,甜蜜,切中要害。