繁体   English   中英

如何配置Sinatra Rack应用程序以使用Figaro

[英]How to configure a sinatra rack app to use figaro

我看到了这篇文章,并认为某些内容丢失或版本更改。 我有一个使用Figaro的非常简单的机架应用程序-由Heroku托管。 目前,我在本地计算机上。

我现在需要使用ENV

我的应用程序结构:

APP
 |_ config/
 |_ public/
 |_ views/
 |_ config.ru
 |_ app.rb
 |_ other-files

内部config / application.yml

SOME_KEY: some-value

内部config.ru

require './app.rb'
run MyApp.run!

这部分给出了错误。 内部app.rb:

require  File.dirname(__FILE__) + '/config/application.yml'

[...]

此行与上面的链接相同。 我懂了

无法加载此类文件/config/application.yml

app.rb ,我需要能够执行ENV['SOME_KEY']

您不能仅require Yaml文件,因为它不是ruby。 Yaml是不是特定于ruby的文件结构。 Figaro也被编写为与Ruby on Rails一起使用,而不是Sinatra。 您可能会想出一种使其工作的方法,但它并不像加载yaml配置文件那样简单。

有关如何完成您要完成的工作的一些想法,请参阅这篇文章。 这是宝石的分叉版本,可能对您有用。

https://github.com/laserlemon/figaro/pull/229

我之前在一个独立的应用程序中已完成此操作,如下所示:

Figaro.application = Figaro::Application.new(
  environment: 'production',
  path: File.expand_path("config/application.yml")
)
Figaro.load

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM