【发布时间】:2018-04-19 21:23:48
【问题描述】:
我正在尝试为我的 Rails 5.1.4 开发环境设置 Devise gem。我遵循了各种示例,但仍然遇到同样的问题。
一旦我想提醒忘记的密码,我会收到 未定义的局部变量或方法 `resource_reset_password_token' 错误。一旦未配置邮件程序,就会出现相同的错误。以下是一些细节:
1.错误详情
N设计中的ameError::Passwords#create 显示 /home/mk/thebest/app/views/devise/mailer/reset_password_instructions.html.erb 其中第 6 行提出: # 的未定义局部变量或方法“resource_reset_password_token” 你的意思是? resolve_assets_with 提取的源代码(第 6 行附近):
<p><%= link_to t('.action'), edit_password_url(@resource, :reset_password_token => resource_reset_password_token) %></p>
2。 config/environments/development.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: ENV["GMAIL_DOMAIN"],
authentication: "plain",
enable_starttls_auto: true,
user_name: ENV["GMAIL_USERNAME"],
password: ENV["GMAIL_PASSWORD"]
}
3.环境变量 我已经通过以这种方式添加它们来定义我的环境变量:
sudo -H gedit /etc/environment
GMAIL_DOMAIN="gmail.com"
GMAIL_USERNAME="hereismyemail@gmail.com"
GMAIL_PASSWORD="hereismypassword"
没有配额也不行
4.我还允许在 gmail 中访问
使用 http://www.google.com/accounts/DisplayUnlockCaptcha
5.环境
输入 ENV 命令我可以看到我的环境变量设置正确
请支持
【问题讨论】:
标签: ruby-on-rails devise