请有人指出我正确的方向,我确定这是一个简单的问题,但是让我绕圈子。我有三个域
.co.nz
我正在尝试为维护保留一个代码库。
我已经完成了一些手动本地化工作,根据网址更改标题,联系方式等,使用request.original_url and stripping out the relevant parts and setting some constants in the application controller (SITE, EMAIL, TELEPHONE etc).
除了config.action_mailer.smtp_settings in the production.rb.
这些显然应该更改,因此本地化电子邮件帐户使用(info @ ... com或.com.au等),但
在加载环境之前,我无法初始化常量。它完全合理,为什么它不起作用,但我不知道如何解决它。
我已尝试将其放入初始值设定项, application.rb 并将其设置在 production.rb 本身。如果我将代码从应用程序控制器移到任何地方,我在 request.original_url 上得到no方法错误。
有没有办法提取mailer settings
以便它们可以暴露给变量?或者是应用程序启动时加载production.rb
,之后不受最终用户的影响。
另外,即使语言保持不变,我应该查看i18n是否操作这些功能的网站?或者我想改变的少数变量是不值得的。
提前致谢。
答案 0 :(得分:1)
您只需在运行时更改设置:
ActionMailer::Base.smtp_settings[:host] = 'yourhostfromrequest'
答案 1 :(得分:0)
你可以只更改邮件程序中的常量,因为Ruby中的常量是 mutable 。