在 rails 中动态设置一个全局变量
Dynamically set a global variable in rails
我想知道如何在 rails 中初始化和设置全局变量。例如,如果我正在构建一个比萨饼配送系统,我希望管理员能够 "close" 和 "open" 他喜欢的地方。
设置全局变量很简单,只需设置它 $open = false
但这对实时应用程序没有太大帮助,因为您的应用程序可能 运行 跨多个进程(每个进程都有其自己的内存,因此也有自己的全局变量)。
最简单的起点是将此状态存储在您的数据库中,并在相关的每个请求中检查它。
$pizza_store = :open
就是这样。它是全局的,因此不需要位于任何类型的命名空间中,但我会出于任何原因重新考虑使用全局变量。
从 code school or something similar to learn basic Ruby, then try a more complete tutorial (the Michael Hartl one 开始很好)并学习 'the Rails way' - 因为如果你想做 Rails,你必须按照他们的方式去做,否则你会很快感到沮丧。
沉迷于@smathy 的回答,如果您想避免使用数据库,只需在 /public
文件夹中 File.open
一个 index.html
,但是,当然,您不会能够在该页面上使用任何动态生成的内容。
我想知道如何在 rails 中初始化和设置全局变量。例如,如果我正在构建一个比萨饼配送系统,我希望管理员能够 "close" 和 "open" 他喜欢的地方。
设置全局变量很简单,只需设置它 $open = false
但这对实时应用程序没有太大帮助,因为您的应用程序可能 运行 跨多个进程(每个进程都有其自己的内存,因此也有自己的全局变量)。
最简单的起点是将此状态存储在您的数据库中,并在相关的每个请求中检查它。
$pizza_store = :open
就是这样。它是全局的,因此不需要位于任何类型的命名空间中,但我会出于任何原因重新考虑使用全局变量。
从 code school or something similar to learn basic Ruby, then try a more complete tutorial (the Michael Hartl one 开始很好)并学习 'the Rails way' - 因为如果你想做 Rails,你必须按照他们的方式去做,否则你会很快感到沮丧。
沉迷于@smathy 的回答,如果您想避免使用数据库,只需在 /public
文件夹中 File.open
一个 index.html
,但是,当然,您不会能够在该页面上使用任何动态生成的内容。