替換數組值我有一個電子郵件列表的YML文件,我試圖做一個輔助文件中的一些修正,但我似乎無法更新,並保持這種更新的信息從陽明
我需要改變在配置文件上發送的環境電子郵件基礎。 我最大的問題是,更新信息不被除生產我希望所有的電子郵件,得到了DEV-電子郵件地址,但在生產中我可以做一個eval()
裝載其它所有環境中保存的file_data
陣列
上從配置文件中的電子郵件
例YML文件
#config/brands_mailer.yml
brand1:
support: 'Appname::Application.config.support_email'
sales: 'Appname::Application.config.email'
accounting: 'Appname::Application.config.accounting_email'
brand2:
support: 'Appname::Application.config.barnd2_support_email'
sales: 'Appname::Application.config.barnd2_email'
accounting: 'Appname::Application.config.barnd2_accounting_email'
brand3:
support: 'Appname::Application.config.barnd3_support_email'
sales: 'Appname::Application.config.barnd3_email'
accounting: 'Appname::Application.config.barnd3_accounting_email'
現在我有一個郵件助手,看起來像
# app/helpers/mailers/mailr_helper.rb
module Mailers
module MailrHelper
def get_brand_emails(options ={})
file_data = YAML.load_file(File.join(Rails.root, 'config','brands_mailer.yml'))[options[:brand].to_s]
file_data.each do |fd|
unless Rails.env.production?
fd[1] << '[email protected]' # This appends to the current value
fd[1] = fd[1].gsub(fd[1], '[email protected]') # this changes the data but it does not persist
else
fd[1] << eval(fd[1])
end
end
file_data
end
end
您可以添加一些關於您正在嘗試做什麼的更多信息,以及具體問題是什麼,如果有的話? – 2015-04-02 13:15:24
@MaxWilliams我更新了這個問題,更多的信息 – MZaragoza 2015-04-02 13:25:26