Mina 和 Devise.secret_key 未设置

Mina and Devise.secret_key was not set

我正在尝试使用 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

打开您的 rails 应用程序文件夹,转到

config/initializers/devise.rb

并在末尾粘贴这行代码:

config.secret_key = *****

其中 ***** 是您的控制台在出现错误时给您的字符串。

作为环境变量:

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

config.secret_key = ENV['DEVISE_SECRET_KEY']

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

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

config/application.rb:

   ENV.update YAML.load(File.read(File.expand_path('../keys.yml', __FILE__)))
   module yourApp
     ...
     ...
   end

我加了

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

我的 deploy.rb 它解决了我的问题。

secrets.yml我设置DEVISE_SECRET