0

我看到这篇文章并认为缺少某些内容或版本有所更改。我有一个使用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']

4

2 回答 2

1

我以前在一个独立的应用程序中这样做过,如下所示:

Figaro.application = Figaro::Application.new(
  environment: 'production',
  path: File.expand_path("config/application.yml")
)
Figaro.load
于 2018-10-26T13:26:00.740 回答
0

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

有关如何完成您正在尝试做的事情的一些想法,请参阅这篇文章。这是一个可能对您有用的 gem 的分叉版本。

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

于 2018-10-26T12:19:35.117 回答