0

使用APP_CONFIG存儲系統範圍訪問的值,效果很好,但不適用於ActionMailer電子郵件視圖。有誰知道如何解決這個問題?APP_CONFIG [「值」]在ActionMailer郵件模板中不起作用

在load_config.rb(config文件夾中)我加載它想:

APP_CONFIG = YAML.load_file("#{Rails.root}/config/application.yml")[Rails.env] 

然後在我的梅勒的觀點(HAML)我嘗試在我的應用程序使用它們經常像這樣的:

Welcome to our application named: 
= APP_CONFIG['app_name'] 

我將如何訪問動作郵件程序視圖中的所有APP_CONFIG值?

回答

1

我固定它是這樣的:

default: &default 
    app_name:   "My APP" 
    app_mail:   "[email protected]" 

development: 
    <<: *default 
    ... 

production: 
    <<: *default 
    ... 

的問題是它是使用RAILS_ENV和我沒有合併默認的部分進入生產和發展模式,這樣它的乾淨,你可以做APP_CONFIG [「any_var」]具有默認(全球)的存儲谷歌分析等和ENV具體的開發和生產:)

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 => "[email protected]" 
    def welcome_mail(app_name) 
    @app_name = app_name 
    mail(:to => "[email protected]", :subject => "[system] User Welcome!") 
    end 
end 

應用程序/視圖/ user_mailer文件/ welcome_mail。 html.haml

%p Welcome to our application named: 
[email protected]_name 

我認爲它應該工作。