2012-07-28 56 views
1

我是一名rails初学者。在我的应用程序中写入其中一个视图时,最终会出现大块(〜100行)难看的代码。它相当不通用,因为它主要由一些条件查找视图特定的常量哈希组成。我想从视图文件中删除这个丑陋的代码块。Palce在Rails中为视图添加非泛型助手函数

什么是最好的地方放这段代码?具体来说,辅助模块是否适合这种非泛型代码?

回答

0

将代码放入app/helpers/application_helper.rb,然后可以通过使用application布局呈现的任何视图访问它。

另一种选择是,以限定定制辅助模块,其中一个不必与一个给定的视图或控制器(见我下面链接的视频)相关联,并且include它在视图中的模块希望/控制器有功能。

辅助模块的确可以调用它们,但要小心如何声明您的方法,但您可以在辅助模块中定义的内容有限制。

Here是从月好文章概述帮手模块2011

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

+0

我知道应用程序助手或自定义助手。但问题是:助手是否应该放置这样的非泛型**代码,这些代码不会被我的应用程序的其他视图使用。 – Dee 2012-07-28 20:58:04

+0

@Dee这不是黑色和白色的东西。但是,从您所描述的内容看来,这听起来像是代码在您的'application_controller.rb'中显示出来,并且它不是具有证明它自己的控制器的功能的代码,最有效和最高效的选择可能是创建一个自定义辅助模块并将其包含在您希望具有该功能的帮助程序中。也就是说,这最终是应用程序设计者(即_you_)需要决定的判断调用。 – rudolph9 2012-07-28 21:06:13

+0

谢谢!这有助于:) – Dee 2012-07-28 21:20:55

相关问题