Rails 4: Devise.secret_key 未设置

Rails 4: Devise.secret_key was not set

这似乎是一个热门问题,因为我在 Stack Overflow 上发现了很多类似的问题:

但是,上述 none 似乎有助于解决我的问题。

这是我的情况:

  1. 我用 font-awesome-rails gem 安装了 Font Awesome,它在本地工作,但是每当我部署到 Heroku 时,Font Awesome 图标就不再出现了。
  2. 因此,我寻找解决此问题的答案,发现我需要 运行 RAILS_ENV=production bundle exec rake assets:precompile 才能正常工作。
  3. 但是,当我 运行 这个命令时,我在终端中得到以下错误:

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(我的密钥周围没有单引号)。

但是 none 这些东西奏效了。

我一直收到同样的错误。

我做错了什么?

我找到了解决这个问题的方法。

我没有继续与 font-awesome-rails gem 纠缠,而是将其卸载并替换为 font-awesome-sass,这是 [= 的官方字体 Awesome gem 36=].

Following the guidelines offered here(部分:简单:SASSRubyGem ),然后我 运行 bundle 并添加:

@import "font-awesome-sprockets";
@import "font-awesome";

到我的 application.scss 文件。

我还从同一个文件中删除了旧的 @import "font-awesome.css"; 行。

现在,Font Awesome 可以在本地和 Heroku 上使用。