Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3.2 带有Rails的初始值设定项中的惰性计算_Ruby On Rails 3.2_Lazy Evaluation - Fatal编程技术网

Ruby on rails 3.2 带有Rails的初始值设定项中的惰性计算

Ruby on rails 3.2 带有Rails的初始值设定项中的惰性计算,ruby-on-rails-3.2,lazy-evaluation,Ruby On Rails 3.2,Lazy Evaluation,我在Rails应用程序上有一个设置类,有几个列可由后端的管理员用户更新,即f.I.support_email,因此每次应用程序在新用户注册后发送电子邮件时,我都要重新评估此列 我尝试在Desive初始值设定项中使用一个短而粗的lambda,就像类中的作用域: Devise.setup do |config| # Omitted config config.mailer_sender = -> { "AppName <#{Settings.get(:support_email)

我在Rails应用程序上有一个设置类,有几个列可由后端的管理员用户更新,即f.I.support_email,因此每次应用程序在新用户注册后发送电子邮件时,我都要重新评估此列

我尝试在Desive初始值设定项中使用一个短而粗的lambda,就像类中的作用域:

Devise.setup do |config|
  # Omitted config
  config.mailer_sender = -> { "AppName <#{Settings.get(:support_email)}>" }
  # Omitted config
end
designe.setup do | config|
#省略配置
config.mailer_sender=->{“AppName”}
#省略配置
结束
但它不工作,因为它返回一个Proc对象

我尝试过在stubby lambda中直接调用。尽管我不知道这是否是一种好的做法:

Devise.setup do |config|
  # Omitted config
  config.mailer_sender = -> { "AppName <#{Settings.get(:support_email)}>" }.call
  # Omitted config
end
designe.setup do | config|
#省略配置
config.mailer_sender=->{“AppName”}.call
#省略配置
结束
这种方法不起作用,因为我收到的值与第一次评估后收到的值相同


有什么建议吗?

我想你必须想办法实现这一目标。你能更具体一点吗?