如何在 ruby 中访问整个页面中的一个变量


How to access one variable across the page in ruby?

现在我是Ruby语言的新手。目前正在学习红宝石。我是PHP的专家编码员。基本上我在CakePHP工作。CakePHP 和 Ruby 目录结构大致相同。但是我在 Ruby 代码中有点困惑。

在 CakePHP 中,当我定义任何变量时bootstrap.php我正在整个站点上获取此变量。

假设我有一个变量名称$gallery_path = 'files/gallery/';如果我echo $gallery_path控制器、模型和视图中。我正在获得我的画廊路径。

但是在 ruby 中,我无法定义任何像 php 这样的变量bootstrap.php请建议我。

对于更改频率足够高以至于您需要不时编辑它们,但频率不够高以至于您不会不断更改的内容,一个简单的module在这里效果很好。

你可以从这样的东西开始:

module SiteConfiguration
  mattr_accessor :site_name
  mattr_accessor :payment_provider
end

然后,您可以在config/environment.rb中对其进行配置:

SiteConfiguration.site_name = 'The Site'
SiteConfiguration.payment_provider = 'PayPal'

这些可以在您的应用中的任何位置访问。

您可以使用

环境变量,请尝试以下 gem:https://github.com/bkeepers/dotenv或者您可以定义它们:

ENV["host"] = "localhost:3000"

你的application_controller.rb应该写在下面

$gallery_path = 'files/gallery/';

您的视图文件

<%=$gallery_path %>

我想你的意思是全局变量。在Ruby-on-Rails中,你可以这样写

控制器:

@value = 2+1

.HTML:

<%= @value %>

因此,您在浏览器中的输出将为"3"