ruby-on-rails – 哪里可以在Rails 4中存储站点范围的变量? - 代码日志

ruby-on-rails – 哪里可以在Rails 4中存储站点范围的变量?

我是Rails的新手,来自ColdFusion背景,我们将在“应用程序”范围内存储全局/全站变量。这可以将变量保持在任何视图或控制器上。 Rails 4是否具有这种类型的东西的等效功能?

站点范围的变量通常不会频繁更改,因此不需要以任何方式进行保护。

例如,在我的情况下,我想存储网站的域名。一个用于测试,一个用于实时环境。用于开发的本地主机和用于生产的xxxxxx.com。

任何提示或指针都有帮助。我已经广泛地Google搜索,解决方案似乎太复杂了,无法实现似乎是一个这么简单的任务。 Rails 4最优秀的解决方案是什么?

最简单,基本和默认的方式是使用Rails.application.config存储。

Rails.application.config.my_config = 'foo'

您可以在环境中分配一个配置:

# application.rb
module MyApp
  class Application < Rails::Application
    config.my_config = 'foo'
  end
end

并阅读

Rails.application.config.my_config
# => 'foo'

这种方法适用于非常简单的应用程序,但如果您想要更高级的东西,则可以使用几个宝石。

我目前正在使用SimpleConfig.主要优点是:

>每环境配置。您可以为应用程序配置默认配置,然后使用环境特定配置覆盖默认配置
> local.rb文件进行自定义覆盖
> capistrano样配置风格
>它与dotenv宝石很好地工作,非常有用,以避免在您的回购存储敏感凭证。

http://stackoverflow.com/questions/20857886/where-can-i-store-site-wide-variables-in-rails-4

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ruby-on-rails – 哪里可以在Rails 4中存储站点范围的变量?