コメント テーブルを監視し、何かが作成された後に電子メールを送信するこのオブザーバーがあります。ArgumentError (wrong number of arguments (0 for 5)):
エラーが発生したか、次のコードを使用しているため、オブザーバーで関連付けを正しく行っているようには見えません。
class CommentObserver < ActiveRecord::Observer
def after_create(comment)
if comment.guest_comment == true
if comment.name?
InvoiceMailer.message(comment.name, comment.content, comment.email, comment.user.email, comment.order_id).deliver
elsif comment.email?
# do something if there's no email yet
InvoiceMailer.message(comment.name, comment.content, comment.order.customer.email, comment.user.email, comment.order_id).deliver
else
InvoiceMailer.message(comment.email, comment.content, comment.email, comment.user.email, comment.order_id).deliver
end
else
# owner made the comment
if comment.user.account.company_name?
InvoiceMailer.message(comment.user.name+", "+comment.user.account.company_name, comment.content, comment.user.email, comment.email, comment.order_id).deliver
else
InvoiceMailer.message(comment.user.name, comment.content, comment.user.email, comment.email, comment.order_id).deliver
end
end
end
end
オブザーバー内に正しい関連付けを記述する方法はありますか?