Проблема с забытым паролем и авторизацией

У меня несколько проблем с системой забытых паролей из руководство.

Мое приложение использует 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'

Я смотрел на свой код пару часов, пробовал различные настройки, Google решил проблему, просмотрел этот сайт, но я до сих пор не знаю, почему это происходит, и был бы признателен за любые подсказки, которые могут предоставить ваши ребята.

Заранее спасибо за помощь!

Я использую Ruby 1.8.6, Rails 2.2.2 и Authlogic 2.1.5


person Verloren    schedule 20.07.2010    source источник
comment
Можете ли вы разместить код для вашей модели сброса?   -  person Jesse Wolgamott    schedule 21.07.2010
comment
Также было бы неплохо увидеть вашу почтовую функцию для password_reset_instructions   -  person Jesse Wolgamott    schedule 21.07.2010


Ответы (1)


Если я правильно читаю эту трассировку, то мне кажется, что password_reset_instructions был объявлен как метод без аргументов. Вот о чем (1 for 0) жалоба. Можете ли вы проверить, включили ли вы аргумент user в определение, как показано ниже?

class Notifier < ActionMailer::Base  

  def password_reset_instructions(user)

  end

end

Если вы смотрели на него часами, это, вероятно, не так просто, но стоит убедиться.

person bjg    schedule 20.07.2010
comment
Вау, это настоящий момент «лицо-ладонь». Должно быть, это был один из тех случаев, когда вы не можете увидеть решение, независимо от того, насколько оно простое и как долго вы не смотрите, пока не сделаете перерыв. Я чувствую себя немного глупо, спасибо за понимание! - person Verloren; 21.07.2010
comment
@Verloren Пожалуйста. Мы все бывали там время от времени. - person bjg; 21.07.2010