替换数组值我有一个电子邮件列表的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