没有设置Mina和Devise.secret_key

时间:2015-01-14 19:53:00

标签: ruby-on-rails devise mina

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

2 个答案:

答案 0 :(得分:1)

打开你的rails app文件夹转到

配置/初始化/ devise.rb

并在最后粘贴这行代码:

config.secret_key = *****

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

作为环境变量:

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

config.secret_key = ENV['DEVISE_SECRET_KEY']

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

之后您可以将yaml文件导入您的应用程序,如下所示:

配置/ application.rb中:

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

答案 1 :(得分:1)

我添加了

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

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

secrets.yml我设置DEVISE_SECRET