APP_CONFIG [“value”]在ActionMailer邮件模板中无法正常工作

时间:2013-06-23 12:27:36

标签: ruby-on-rails ruby-on-rails-3 views app-config actionmailer

使用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值?

2 个答案:

答案 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特定的那些:)