2010-09-15 45 views

回答

1

这可能是有道理的,但它不会那样工作。 (如果有人知道如何做到这一点,随时张贴)

你可以把常见的助手在ApplicationController,他们将可以从您的应用程序的任何控制器访问。

3

在控制器之间重用代码有两种主要方法。

您可以创建ApplicationController的子类,该子类具有通用代码,然后您的控制器想要共享从新控制器类继承的代码。 (或者只需要将代码添加到ApplicationController本身,如果它需要被所有控制器共享)。

或者,您可以创建自己的模块(这是所有帮助器本质上的),并将它们包含到您想要的控制器中使用代码。

由于助手只是模块,你可以在你的控制器中包含一个助手,但助手比控制器更适合视图层,所以它很少是控制器之间共享代码的地方。

1

如上所述,您可以将通用助手放在ApplicationController或子类中。我想补充一点,让他们提供给的意见,以及,你把在类的顶部:

helper_method :foo 
+0

林嗨,蒂姆说,你可以把它们放在控制器和定义为辅助方法例如:ApplicationController的< ActionController :: Base helper_method:foo end – sameera207 2010-09-16 06:03:54

相关问题