自定义rails环境,设计关于密钥的抱怨

时间:2015-04-28 23:10:16

标签: ruby-on-rails ruby-on-rails-4 devise environment

我创建了一个新的环境dev_fast_assets,我在那里做了很多优化(预编译资产......),以便提高网站对慢速笔记本电脑的响应能力(因为当服务资产需要20秒+时,你最终会喝酒咖啡太多了)

所以我基本上在/config/environments中创建了一个新文件,(几乎是来自development.rb的复制粘贴),我已添加到mongoid.ymlldap.yml,我相信& #39; s所有要做的事。

但是当我运行rails s -e dev_fast_assets时,我得到了一个

C:/Dev/Ruby21-x64/lib/ruby/gems/2.1.0/gems/devise-3.4.1/lib/devise/rails/routes.rb:480:in `raise_no_secret_key': Devise.secret_key was not set. 
Please add the following to your Devise initializer:
config.secret_key = 'yyyy

现在我的config.secret_key = 'xxxx'中已经有yyyy(与config.initializers/devise.rb不同),到目前为止,我从未遇到过使用capistrano在制作中部署的问题。

我错过了什么?基本上我希望我的dev_fast_assets环境的行为几乎与development环境完全相同,除了可能有一行改变... {/ p>

2 个答案:

答案 0 :(得分:0)

这可能是由于'active_reload'gem。尝试从Gemfile中删除它,然后再试一次。 https://github.com/plataformatec/devise/issues/2641

答案 1 :(得分:0)

我在Rails 4.1.2,Devise 3.2.4和Devise-Invitable 1.3.5中遇到了同样的错误:

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

  config.secret_key = '[128 hexadecimal characters]'

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

我做了什么:

  1. 按照请求添加了该文件的密钥(替换config/initializers/devise.rb:7,其中已注释掉了另一个密钥)
  2. rails g devise:install。当时,我的环境变量设置为RAILS_ENV=demo,但我不知道是否需要。
  3. 似乎有效。