【发布时间】:2016-01-10 14:44:10
【问题描述】:
这似乎是一个热门问题,因为我在 Stack Overflow 上发现了许多类似的问题:
- Devise Token Auth error: Devise.secret_key was not set
- Devise Secret Key was not set
- Mina and Devise.secret_key was not set
但是,以上方法似乎都无法解决我的问题。
这是我的情况:
- 我使用
font-awesome-railsgem 安装了 Font Awesome,它在本地运行,但每当我部署到 Heroku 时,Font Awesome 图标就不再出现。 - 因此,我寻找解决此问题的答案,并发现我需要运行
RAILS_ENV=production bundle exec rake assets:precompile才能使事情正常进行。 - 但是,当我运行此命令时,我在终端中收到以下错误:
rake aborted!
Devise.secret_key was not set. Please add the following to your Devise initializer:
config.secret_key = '—— MY_SECRET_KEY_HERE ———'
Please ensure you restarted your application after installing Devise or setting the key.
根据我问题开头提到的问题中提供的解决方案,我确实有devise.rb 中的config.secret_key = ENV['DEVISE_SECRET_KEY'] if Rails.env.production?
另外,as recommended here,我确实运行了heroku config:set DEVISE_SECRET_KEY='—— MY_SECRET_KEY_HERE ———' -- app name_of_my_app_here。
因为我不确定,所以我也运行了heroku config:set DEVISE_SECRET_KEY=—— MY_SECRET_KEY_HERE ——— -- app name_of_my_app_here(我的密钥周围没有单引号)。
但这些都不起作用。
我不断收到同样的错误。
我做错了什么?
【问题讨论】:
-
您可以通过
heroku config -a app_name查看您设置了哪些环境变量。默认情况下,在 Rails 4 应用程序中,Devise 应该使用您应用程序的 secret_key_base。 -
感谢您的回答。当我运行您推荐的命令时,我已经设置了
SECRET_KEY_BASE。从那里开始,我接下来应该怎么做才能尝试解决我的问题? -
您是否尝试重新启动您的应用程序?
heroku restart -a app_name -
刚试过。仍然收到相同的错误消息。我刚刚注意到一些事情:每次我收到错误时,终端中建议的密钥都会更改。
标签: ruby-on-rails ruby-on-rails-4 heroku devise asset-pipeline