2013-09-05 64 views
1

我正在考慮能否將「應用程序名稱」方法添加到我的Rails :: Application子類中,因爲我最初添加到ApplicationController幫助程序的方法對於我的ActionMailer不再可見。將方法添加到Rails :: Application子類是否可接受?

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

我還沒有看到在標準這個產品的參考軌教程和一些谷歌查詢不表明最好的,甚至可以接受的做法。

我寧願不必硬編碼許多可能在郵件程序模板中有價值的全局應用程序設置。

回答

0

只要你在你的應用程序配置中'外部',那麼這個依賴就是輕量級的,並且它在你的維護上使用新的rails版本。如果由於某種原因,你很緊張,你可以把它放在lib,但由於顯而易見的原因,這可能會感覺更尷尬。

如果應用程序非常廣泛地使用新方法,那麼我將擴展一個基本類,比如String。有些人不會;我聽到的最常見的爭論是'內存問題' - 根據應用程序中廣泛使用的情況,我無法理解。

+0

將它添加到application.rb中的類定義是否「安全」? – chrisp

+0

只要你知道你在做什麼,是的:) –

+0

嗯,我想這是我的關注,我真的不知道我在做什麼。我知道我想要做什麼,而不是如何去做。我敢肯定,我不是第一個喜歡全局屬性可用於我的ActionMailer視圖的人。我應該通過初始化者「添加」方法嗎? – chrisp

相關問題