现在我是ruby语言的新手。目前正在学习红宝石。我是PHP的专家编码员。基本上我在CakePHP工作。 CakePHP和Ruby目录结构大致相同。但我在Ruby Code中有点困惑。
在CakePHP中,当我在bootstrap.php
中定义任何变量时,我在整个站点中获取此变量。
假设我有一个变量名$gallery_path = 'files/gallery/';
如果我在控制器,模型和视图中echo $gallery_path
。我正在走廊子。
但是在ruby中我无法定义像php bootstrap.php
这样的变量。请建议我。
答案 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 %>