【问题标题】:Problem with forgot password and authlogic忘记密码和 authlogic 的问题
【发布时间】:2011-03-18 16:45:56
【问题描述】:

我在tutorial 的忘记密码系统方面遇到了一些问题。

我的应用程序使用 Authlogic 作为身份验证系统,它非常适合用户登录/注销和注册。但是,在我按照该教程进行操作后(password_reset 控制器重命名为“reset”并且我使用了我自己现有的邮件程序配置),并尝试重置我的测试帐户密码,我收到“错误数量的参数 1 为 0”错误我的重置控制器的创建操作。

ArgumentError in ResetsController#create
wrong number of arguments (1 for 0)

c:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.2.2/lib/action_mailer/base.rb:462:in `password_reset_instructions'
c:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.2.2/lib/action_mailer/base.rb:462:in `__send__'
c:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.2.2/lib/action_mailer/base.rb:462:in `create!'
c:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.2.2/lib/action_mailer/base.rb:455:in `initialize'
c:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.2.2/lib/action_mailer/base.rb:392:in `new'
c:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.2.2/lib/action_mailer/base.rb:392:in `method_missing'
app/models/user.rb:7:in `deliver_password_reset_instructions!'
app/controllers/resets_controller.rb:12:in `create'

我盯着我的代码看了几个小时,尝试了各种调整,谷歌搜索了这个问题,浏览了这个网站,但我仍然不知道为什么会发生这种情况,希望你们能提供任何指点。

提前感谢您的帮助!

我正在使用 ruby​​ 1.8.6、Rails 2.2.2 和 Authlogic 2.1.5

【问题讨论】:

  • 您可以发布重置模型的代码吗?
  • 你的密码重置指令邮件功能也很高兴

标签: ruby-on-rails authlogic forgot-password


【解决方案1】:

如果我正确阅读了该跟踪,那么在我看来 password_reset_instructions 已被声明为无参数方法。这就是(1 for 0) 投诉的内容。你能检查一下你是否在定义中包含了user 参数,如下所示?

class Notifier < ActionMailer::Base  

  def password_reset_instructions(user)

  end

end

如果您已经盯着它看了好几个小时,那可能没那么简单,但值得一试。

【讨论】:

  • 哇,这真是一个“面对面”的时刻。一定是这样的时代之一,无论解决方案多么简单或看起来多么简单,直到您休息一下,您都看不到解决方案。我现在觉得有点傻,谢谢你的洞察力!
  • @Verloren 不客气。我们都曾经去过那里。
猜你喜欢
  • 2015-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 2012-07-25
  • 2011-07-31
  • 2012-12-20
相关资源
最近更新 更多