Rails:如何在 Rails 中为 Devise 设置密钥?

Posted

技术标签:

【中文标题】Rails:如何在 Rails 中为 Devise 设置密钥?【英文标题】:Rails: How to set secret key for Devise in Rails? 【发布时间】:2014-07-04 10:06:23 【问题描述】:

我添加了 Devise gem 然后按照说明运行rails generate devise:install,结果如下:

/usr/local/rvm/gems/ruby-1.9.3-p194/gems/devise-3.2.4/lib/devise/rails/routes.rb:487:in        `raise_no_secret_key': Devise.secret_key was not set. Please add the following to your Devise initializer: (RuntimeError)

config.secret_key = 'abc123'

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

如何“重新启动”我的应用程序?以及如何以及在哪里设置密钥?

【问题讨论】:

为什么这个问题会得到反对票?有什么问题吗? 我也很惊讶。 【参考方案1】:

为了生成秘密运行:

bundle exec rake secret

并将结果从控制台复制到设计初始化程序 (config/initializers/devise.rb)

config.secret_key = '4fce3c1c860216b8......'

【讨论】:

【参考方案2】:

您需要在config/initializers/devise.rb 中添加一行来设置密钥(将下面的示例值替换为更安全和随机的密钥):

 config.secret_key = 'yoursecretkey'

之后,只需停止 Rails 服务器并重新启动它。另请参阅此*** question。

【讨论】:

以上是关于Rails:如何在 Rails 中为 Devise 设置密钥?的主要内容,如果未能解决你的问题,请参考以下文章

从 Rails 控制台设计密码重置

Rails w/devise authentication iRedMail 的配置是啥?

Rails & Devise:如何在没有布局的情况下呈现登录页面?

Ruby/Rails:您如何自定义 Devise 的邮件模板?

Ruby/Rails:您如何自定义 Devise 的邮件模板?

如何从 Rails 控制台使用 Devise 登录用户?