将方法添加到Rails :: Application子类是否可以接受?

时间:2013-09-05 16:41:38

标签: ruby-on-rails standards

我正在考虑能够在我的Rails :: Application子类中添加“应用程序名称”方法,因为我最初添加到ApplicationController帮助程序的方法对于我的ActionMailer不再可见。

ActionView::Template::Error: undefined local variable or method `app_name' for #<#<Class:0x44aba18>:0x449b8f0>

我还没有在标准导轨教程中看到过这样做的任何提及,而且一些Google查询并未表明最佳或甚至可接受的做法。

我宁愿不必硬编码很多可能在邮件程序模板中有价值的全局应用程序设置。

1 个答案:

答案 0 :(得分:0)

只要您在应用程序配置中“外部”执行此操作,那么依赖项就是轻量级的,并且您可以使用新的rails版本来维护它。如果由于某种原因你感到紧张,你可以把它放在lib中,但由于显而易见的原因,这可能会让人觉得更加尴尬。

如果应用程序非常广泛地使用新方法,那么我将成为扩展灵长类的阵营,如String。有些人不会;我听到的最常见的争论是“记忆问题” - 鉴于应用程序中广泛使用的情况,我无法理解这一点。