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

时间:2016-04-25 07:18:07

标签: php ruby-on-rails ruby cakephp

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

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

假设我有一个变量名$gallery_path = 'files/gallery/';如果我在控制器,模型和视图中echo $gallery_path。我正在走廊子。

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

4 个答案:

答案 0 :(得分:2)

对于经常变化的内容,你需要偶尔编辑它们,但很少发生这种情况,以至于你不能经常更改它,一个简单的module在这里运作良好。

你可以从这样的事情开始:

module SiteConfiguration
  mattr_accessor :site_name
  mattr_accessor :payment_provider
end

然后您可以在config/environment.rb中配置:

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

您可以在应用中随处访问这些内容。

答案 1 :(得分:0)

你可以使用环境变量,试试这个gem:https://github.com/bkeepers/dotenv 或者你可以定义它们:

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

答案 2 :(得分:0)

我认为你的意思是全局变量。在Ruby-on-Rails中,您可以像

一样编写它

控制器:

@value = 2+1

HTML:

<%= @value %>

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

答案 3 :(得分:0)

您的application_controller.rb应写在下面

$gallery_path = 'files/gallery/';

您的观看文件

<%=$gallery_path %>