【问题标题】:Custom rails environment, devise complains about secret key自定义 Rails 环境,设计抱怨密钥
【发布时间】:2023-03-24 14:13:01
【问题描述】:

我创建了一个新环境dev_fast_assets,我在其中进行了许多优化(预编译资产...),以提高网站在慢速笔记本电脑上的响应能力(因为当提供资产需要 20 秒以上时,您最终会喝得太多咖啡)

所以我基本上在/config/environments 中创建了一个新文件,(几乎是从 development.rb 复制粘贴),我在mongoid.ymlldap.yml 中添加了,我相信这就是所有要做的事情。

但是当我运行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.initializers/devise.rb 中已经有一个config.secret_key = 'xxxx'(不同于yyyy),到目前为止,我在使用 capistrano 进行生产部署时从未遇到过问题。

我错过了什么?基本上我希望我的dev_fast_assets 环境的行为几乎与development 一样,除了可能有两行发生变化...

【问题讨论】:

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


    【解决方案1】:

    这可能是由于“active_reload”gem。尝试将其从您的 Gemfile 中删除,然后重试。 https://github.com/plataformatec/devise/issues/2641

    【讨论】:

    • 我检查了我的 Gemfile 和我的 Gemfile.lock,没有这样的 gem 的迹象 :(
    【解决方案2】:

    我在使用 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,但我不知道这是否需要。

    它似乎奏效了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 2019-05-04
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多