コメント投入で発信者宛てに notify を
な機能はブログなら必要だよな、とゆー事で ActionMailer について調査。と書いた瞬間にくまくまーの中の人が書いた本を持ってきている事に気づく。
本を取りに行って中身を見る前に現時点で判明している事を以下に。
login_engine でのナニ
signup 時に LoginEngine.config(:use_email_notification) and LoginEngine.config(:confirm_account) な設定になっていたら、以下の命令を発行。
UserNotify.deliver_signup(@user, params[:user][:password], url)
む、UserNotify ってドコで??と思ったら、vendor/plugins/login_engine/app/models 内にて定義されている模様。がしかし定義されているメソドは以下のみ。
def signup(user, password, url=nil) def forgot_password(user, url=nil) def change_password(user, password, url=nil) def pending_delete(user, url=nil) def delete(user, url=nil) def setup_email(user)
むむむ、と唸りつつ、くまくまーの中の人のブログ (2005-07-31 優しいRailsの育て方) によると、
メールを送るときは、今定義したインスタンスメソッド(welcome)を直接実行せずに、クラスメソッドの deliver_* と create_* を呼び出します。
2005-07-31 優しいRailsの育て方より引用
成程。しかも vendor/plugins/login_engine/app/views/user_notify/ 配下に template あり。これは楽ちんかも、と思いつつも日本語なナニで若干ソレらしい記述が例の本に書いてあったような記憶が脳の片隅にあるような気が (アルツです
とりあえづ、下に降りて本を取ってこよう。
実装の手順としては、
- ruby script/generate mailer
- 試験の作成 (mock でやるのかなぁ)
- model 作成
- テンプレート作成
- コメントとトラバなコントローラで deliver_なんたら を呼び出す
という感じ??
ActionMailer の試験についても例の本に書いてあればシアワセなんですが。