创建一个全局变量文件,并在Rails应用程序中随处访问它;模型,控制器和延迟工作

问题描述 投票:0回答:2

我有40个变量定义如下: -

 add_notice_sender = "You added %s to the %s group." 
 add_notice_everyone = "%s added %s to the %s group."
 accept_everyone = "%s has joined the %s group."

我将用各种位置的值替换%s,可能是控制器或模型或延迟作业。如何为这些变量创建单个文件并仅从那里使用它。我不想在整个应用程序中将它放在这里和那里。

  • 我试过初始化程序目录,但延迟作业没有访问它。
  • 我尝试将它放在lib目录下的文件中。仍然没有运气。
ruby-on-rails ruby-on-rails-3 global-variables
2个回答
0
投票

来自Benoit Garret的评论: -

config / locales / en.yml和I18n是拥有这种变量声明的正确位置。


-2
投票

我确信有一个更优雅的解决方案,但你可以创建一个模块

module GlobalVariables

  def add_notice_sender
    "You added %s to the %s group"
  end

  ...
end

并在您的environment.rb文件或application_controller.rb中 include GlobalVariables 将文件粘贴在config / initializers文件夹中 blammo 或者您可以只将文件添加到初始化文件夹文件夹中,该文件夹包含变量ADD_NOTICE_SENDER = "You added %s to the %s group."的常量版本 编辑 在我的第一句话中,我没有想到更好的答案和我的免责声明代替我......这个作品不是吗?我真的很鼓励尝试回答更多问题。真棒!

© www.soinside.com 2019 - 2024. All rights reserved.