アプリケーションを rails 2.3 から 3.0.6 にアップグレードしようとしています
Rails 2.3に次のコードがあります
class MessageSender < ActionMailer::Base
def send_message(subject,to,from,body,respondent = nil, content_type = 'text/plain')
@content_type = content_type
@subject = subject
@recipients = to
@from = from
# @sent_on = Time.now
@body = {:body_text => body}
end
end
アップグレード プロセスでは、コードは次のように変更されます。
class MessageSender < ActionMailer::Base
def send_message(subjet,to,from,body,respondent = nil,content_type='text/plain')
mail(:to => to, :subject => subject, :from => from, :body => body, :content_type => content_type)
end
end
Rails 3.0 で ActionMailer を使用する方法については、この有名なブログを参照してください。
そして最後に実行しrake rails:upgrade:check
(Rails 3の互換性のない機能をチェックします)、それが表示されます
Old ActionMailer class API
You're using the old API in a mailer class.
More information: http://lindsaar.net/2010/1/26/new-actionmailer-api
The culprits:
- app/models/message_sender.rb
(ie) まだ古い APIを使用していると表示される
誰かがここで何が欠けているのか説明できますか?
または、「メーラー クラスで古い API を使用しています」というバグを解消する他の方法はありますか?
参考までに: gem は更新され、環境は ruby 1.8.7、rails 3.0.6 です。