【问题标题】:Appropriate place to store globals (not constants!) in Rails 3在 Rails 3 中存储全局变量(不是常量!)的适当位置
【发布时间】:2011-09-09 17:47:03
【问题描述】:

我浏览了相关问题,但找不到我需要的内容,因为大多数问题都在询问在哪里存储常量,而不仅仅是全局变量。

我希望我的 CMS 在单击按钮时随机选择一种配色方案。不过,在用户自动生成颜色方案之前,我希望能够从多个变量中加载默认的颜色方案。什么地方适合放这些东西?

到目前为止,我一直将设置存储在数据库中,但我想知道是否有简单的方法。出于某种原因,将它们放在 environment.rb 或 initializers.rb 中似乎并没有奏效。

我想指出,我希望这些变量是可编辑的;常量不好。

【问题讨论】:

    标签: ruby-on-rails ruby content-management-system


    【解决方案1】:

    您希望用户只更改其帐户的配色方案吗?如果是这样,则该设置应存储在与该用户关联的数据库中。

    如果您将值存储在 config/initializers/color.rb 中的 $color 之类的 Ruby 常量中,它将为所有访问该 Rails 应用程序运行实例的用户设置和重新设置。假设您在 Thin 这样的 Web 服务器中运行了三个生产 Rails 进程,33%(取决于您的负载均衡器)的用户会看到相同的颜色。

    初始化程序中的$color 应该在本地工作,但创建变量后您必须重新启动服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2011-02-09
      • 1970-01-01
      相关资源
      最近更新 更多