2012-03-09 5 views
0

私のユーザの電子メールをカスタマイズしようとしている。カスタマイズしようとすると、usermailerエラーが発生する:未定義のローカル変数または<controller> for <UserMailer:0x007fac55fe3ba8>

私は次のようでした:

routes.rbを

devise_for :users, :controllers => { :registrations => "registrations", :sessions => "sessions", :confirmations => "confirmations", :passwords => "passwords", :omniauth_callbacks => "authentications" } 

エンド

devise.rb

config.mailer = "UserMailer" 

クラスUserMailer < actionmailerの::ベース

include Devise::Mailers::Helpers # Needed for Devise 
default from: "[email protected]" 

    def confirmation_instructions(record) 
    @resource = record 
    mail(:from => "[email protected]", 
      :to => record.email, 
      :subject => "XXXXXXXXX" 
     ) 
    end 

confirmation_instructions.html.erb

<p><%= link_to 'Confirm my account', user_confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p> 

これはエラーになります:

NameError in Registrations#create 

Showing /Users/xxx/Sites/x/app/views/user_mailer/confirmation_instructions.html.erb where line #5 raised: 

undefined local variable or method `controller' for #<UserMailer:0x007fac55fe3ba8> 

ここで間違っているものを任意のアイデア?

おかげ

答えて

-1

を使用している場合:reconfirmableモジュールを、それはunconfirmed_email列が必要です。したがって、その列をデータベースに追加する必要があります(列を追加するための新しい移行を作成することによって)

ただし、モジュールを使用する予定がない場合:recoverable。それは(intializers/devise.rbで)次のコマンドを使用して無効にします - それは、デフォルトで有効になっているよう

偽=

config.reconfirmable。

関連する問題