我想在Padrino做一些基本的事情,但很多搜索都没有得到任何答案。我正在尝试从模型中访问全局设置。我在称为“端点”的environments.yaml文件的“development”部分添加了一行,如何从模型类访问此设置? environment.yaml是用于此类设置的最佳文件吗?
environments:
development:
endpoint: 'http://192.168.56.1:3001'
当我在模型函数中尝试使用“settings.endpoint”时,我收到错误:
undefined local variable or method `settings' for Country:Class
答案 0 :(得分:2)
这可能与您要求的不完全相同,但在此处我是如何针对不特定于环境的设置解决此问题:
在config/apps.rb
中指定设置:
Padrino.configure_apps do
set :foobar, 42
end
然后您应该能够通过以下方式获取值:
MyApp::App.settings.foobar # => 42
当然,这是假设您的Padrino应用程序被调用MyApp
(如果您不确定,可以登录app/app.rb
。)
答案 1 :(得分:0)
如果我是你,我会使用环境变量:
environments:
development:
endpoint: <%= ENV["ENDPOINT"] %>
然后在您的ruby代码中,您可以使用ENV['ENDPOINT']
访问它。
了解如何使用Dotenv等宝石在.env
文件中设置环境变量。
答案 2 :(得分:0)
在padrino 0.13.2上测试
Padrino.mounted_apps[0].app_obj.settings.endpoint
可能会安装超过1个应用。我还没有测试多个应用程序。如果您发现了更多信息,请发表评论:)