使用APP_CONFIG存储系统范围访问的值,效果很好但不适用于ActionMailer电子邮件视图。 有谁知道如何解决此问题?
在load_config.rb(config文件夹)中,我将其加载为:
APP_CONFIG = YAML.load_file("#{Rails.root}/config/application.yml")[Rails.env]
然后在我的Mailer视图(HAML)中,我尝试在我的应用程序中定期使用它们,如:
Welcome to our application named:
= APP_CONFIG['app_name']
如何在动作邮件程序视图中访问我的所有APP_CONFIG值?
答案 0 :(得分:1)
尝试这样的事情:
应用程序/控制器/ user_controller.rb
def some_method
app_name = APP_CONFIG['app_name']
UserMailer.welcome_mail(app_name).deliver
end
应用程序/邮寄者/ user_mailer.rb
class UserMailer < ActionMailer::Base
default :from => "info@mypage.com"
def welcome_mail(app_name)
@app_name = app_name
mail(:to => "test@mypage.com", :subject => "[system] User Welcome!")
end
end
应用程序/视图/ user_mailer文件/ welcome_mail.html.haml
%p Welcome to our application named:
=@app_name
我认为它应该有用。
答案 1 :(得分:1)
我这样修好了:
default: &default
app_name: "My APP"
app_mail: "info@..."
development:
<<: *default
...
production:
<<: *default
...
问题是它使用的是RAILS_ENV并且我没有将默认部分合并到生产和开发模式中,就像它的干净,你可以做APP_CONFIG [“any_var”],它有默认的(全局的)存储谷歌分析等以及正在开发和生产的ENV特定的那些:)