2016-08-04 4 views
0

inレールガイド http://guides.rubyonrails.org/action_mailer_basics.htmlインスタンスメソッドwelcome_email(user)はUserMailerクラスで定義されていて、今度はUsersController createメソッドでクラス名を持つインスタンスメソッド(UserMailer)をどのように呼び出すかを示します。クラス名でインスタンスメソッドを呼び出すにはどうすればよいですか?レールで?

+0

これは無慈悲に下落しました。それは妥当な質問です。 – zetetic

答えて

0

これは間違いなく、非常に賞賛されていますが、あまりにも非難されたRailsの「魔法」によるものです。私はあなたがcode for ActionMailerを読んで、自分でそれを解決しようとすることをお勧めします。おそらく最初に考えたよりもはるかに複雑であることがわかります!

Byebugに精通している場合は、welcome_emailメソッドの中に 'byebug'ステートメントを挿入し、UserMailer.welcome_email(@user)で呼び出してみてください。 Byebugプロンプトで 'up'と 'down'を使用してスタックフレームをナビゲートし、メーラーインスタンスがどのように作成され、インスタンスメソッドが実際に呼び出されるかを確認します。

関連する問題