2014-12-23 5 views
1

레일 튜토리얼의 10 장에서 작업 중입니다. 계정 활성화를 건너 뛰고 비밀번호 재설정 메일러를 구현했습니다.Rails :: MailersController # 미리보기에서 ArgumentError (잘못된 인수 수 (1에 대해 0))

class UserMailer < ActionMailer::Base 
    default from: "[email protected]" 

    # Subject can be set in your I18n file at config/locales/en.yml 
    # with the following lookup: 
    # 
    # en.user_mailer.password_reset.subject 
    # 
    def password_reset 
    @greeting = "Hi" 

    mail to: "[email protected]" 
    end 
end 

내가 http://localhost:3000/rails/mailers/user_mailer/password_reset에 갈 때 나는

ArgumentError in Mailer

무엇입니까 : user_mailer_preview.rb 여기

# Preview all emails at http://localhost:3000/rails/mailers/user_mailer 
class UserMailerPreview < ActionMailer::Preview 

    # Preview this email at 
    # http://localhost:3000/rails/mailers/user_mailer/password_reset 
    def password_reset 
    user = User.first 
    user.reset_token = User.new_token 
    UserMailer.password_reset(user) 
    end 
end 

의 사용자 메일 발송 자체의 코드입니다 : 여기에 코드입니다 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

3
당신은 UserMailer.password_reset(user)를 호출하고 인수를하지 않는 사용자에

하지만 password_reset 방법을 전달하는

. 그러니 당신은 사용자를 적용하려면 password_reset을 변경 (그리고 그것으로 뭔가를 할)

def password_reset(user) 
    #do something with the user, such as send to their email address 
    @greeting = "Hi" 
    mail to: user.email 
end 

또는 사용자없이 UserMailer.password_reset로 전화를 조정해야합니다.

관련 문제