2017-07-25 8 views
0

私はRails 5アクションメーラにこの奇妙なエラーがあります。ActionMailerの定義されていないメソッド `default '

# app/mailers/application_mailer.rb 
class ApplicationMailer < ActionMailer::Base 
    default from: "[email protected]" 
    layout 'mailer' 
end 

IRB

~/workspace/rails5 > rails c  [email protected] 
Running via Spring preloader in process 45498 
Loading development environment (Rails 5.1.2) 
2.4.1 :001 > ApplicationMailer 
    NameError: uninitialized constant Mail::TestMailer 
    from app/mailers/application_mailer.rb:1:in `<top (required)>' 
    from (irb):1 
2.4.1 :002 > ApplicationMailer 
    NoMethodError: undefined method `default' for ApplicationMailer:Class 
    from app/mailers/application_mailer.rb:3:in `<class:ApplicationMailer>' 
    from app/mailers/application_mailer.rb:1:in `<top (required)>' 
    from (irb):2 
2.4.1 :003 > 

は、これは5

二つの本当に奇妙な事は最初はそれが常に初期化されていない一定のその後trowsのデフォルトではない私に語ったということである起こるレールのデフォルトの足場でありますメソッドの直後。ちょうど私がレール5.0

+0

コンソールを終了してから 'spring stop'を試してからコンソールを再実行してください。 –

+0

疑問がある場合は、コンソールを起動する必要はありませんが、' bin/spring stop ' – meagar

+0

@meagar "コンソールを終了する"とは、シェル端末ではなく、レールコンソールを終了することです。) –

答えて

0

にソリューションをダウングレードする必要がある場合は、それを修正したりする方法を疑問に思っ

は、あなたが名前のモデルを持っている場合mailActionMailerは最初の代わりにレールクラスの1つをつかむだろうということが判明しました。これが起こった場合、最初に失敗しますが、2回目にはrailsクラスがロードされ、それらを一緒に破壊しようとします。サブモジュールの動作を許可するが、メインクラスをサルパスとして扱う。

関連する問題