2

我正在尝试使用 mina 部署我的应用程序。当它开始运行迁移时,我收到此错误:

-----> Migrating database
rake aborted!
Devise.secret_key was not set. Please add the following to your Devise initializer:

  config.secret_key = 'key here.......'

Please ensure you restarted your application after installing Devise or setting the key.
.........

在我的设计初始化程序中,我有config.secret_key = ENV["SECRET_KEY_BASE"]

如何将此密钥添加到我的应用程序?secret_key_base 和 secret_key 不同吗?

这可能很愚蠢,但我不知道如何添加此密钥。

本地一切正常

ps 我正在使用 figaro

4

2 回答 2

1

打开你的 Rails 应用程序文件夹去

配置/初始化程序/devise.rb

并将这行代码粘贴到最后:

config.secret_key = *****

其中 ***** 是您的控制台在错误弹出时为您提供的字符串。

作为环境变量:

如果你想要一个环境变量,你可以采用不同的方式,例如将上面的代码行替换为:

config.secret_key = ENV['DEVISE_SECRET_KEY']

然后您可以在 keys.yml 文件上创建变量并将其添加到您的 ./gitignore 文件中。

之后,您可以像这样将 yaml 文件导入您的应用程序:

配置/应用程序.rb:

   ENV.update YAML.load(File.read(File.expand_path('../keys.yml', __FILE__)))
   module yourApp
     ...
     ...
   end
于 2015-01-14T20:50:52.137 回答
1

我添加了

set :shared_paths, ['config/database.yml', 'log', 'config/secrets.yml']

对我deploy.rb来说,它解决了我的问题。

secrets.yml我集DEVISE_SECRET

于 2015-01-14T23:18:22.257 回答