在Rails中为视图放置非泛型辅助函数的位置

时间:2012-07-28 20:27:10

标签: ruby-on-rails views view-helpers

我是铁轨上的初学者。在我的应用程序中编写其中一个视图时,我最终得到了大块(~100行)的丑陋代码。它非常通用,因为它主要由一些条件查看特定于视图的常量哈希组成。我想从视图文件中删除这个丑陋的代码块。

放置这段代码的最佳位置是什么?具体来说,辅助模块是否适合这种非通用代码?

1 个答案:

答案 0 :(得分:0)

将代码放在app/helpers/application_helper.rb中,任何使用application布局呈现的视图都可以访问该代码。

另一种选择是定义一个自定义辅助模块,一个不一定与给定视图或控制器相关联(参见下面链接的视频),以及include您希望在其中具有该功能的视图/控制器的模块。

Helper模块确实可以用来调用它们,但要小心你如何声明你的方法,你可以在helper模块中定义的内容有限制。

Here是一篇很好的文章,概述了来自 2011年5月的辅助模块

Here是一个概述自定义辅助模块的RailsCast(即自定义为模块,不一定与给定的控制器或视图相关联)。简短,甜蜜,至关重要。