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

时间:2011-08-29 09:57:05

标签: ruby-on-rails ruby-on-rails-3 global-variables

我有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目录下的文件中。仍然没有运气。

2 个答案:

答案 0 :(得分:0)

来自Benoit Garret的评论: -

config / locales / en.yml和I18n是获得这些变量声明的正确位置。

答案 1 :(得分:-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."的常量版本的初始值设定项文件夹中 的修改
在我的第一句话中,我没有想到更好的答案和我的免责声明代替我...这不是吗?我真的很鼓励尝试回答更多问题。的真棒!即可。