2011-06-07 57 views
2

我浏览了相关的问题,但由于大多数问题询问在哪里存储常量而不是简单的全局变量,所以我找不到需要的内容。在Rails 3中存储全局变量(不是常量!)的适当位置

我想让我的CMS随机选择一个配色方案,只需点击一个按钮。尽管如此,在用户自动生成colorscheme之前,我希望能够从多个变量中加载默认的一个。什么是这些事情的好地方?

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

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

回答

3

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

如果您将值存储在像config/initializers/color.rb中的$ color这样的Ruby常量中,它将被设置并重新设置给所有正在运行Rails应用程序的实例的用户。假设您有三个生产Rails进程在Thin Server等Web服务器上运行,33%(取决于您的负载平衡器)用户将看到相同的颜色。

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

+0

正是我所需要的,谢谢! – 2011-06-07 02:51:06