0

ActionMailer を使用して電子メールを送信しようとしています。

これはinvoice_mailer.rbです

class InvoiceMailer < ActionMailer::Base
  default from: "ndeavor@ameipro.com"
  def invoice_email(invoice)
    @invoice = invoice
    mail(:to => @invoice.workorder.contact.email, :subject => "nDeavor New Invoice")
  end
end

これはコントローラーコードです:

  def sendinvoice
    @invoice = params[:invoice_id]
    InvoiceMailer.invoice_email(@invoice).deliver
  end

これはビューコードです:

<%= link_to 'Send Invoice', invoices_sendinvoice_path(:invoice_id => @invoice), :class => 'btn btn-primary' %>

私が得ているエラーは、invoice_mailer の次の行からのものです。

mail(:to => @invoice.workorder.contact.email, :subject => "nDeavor New Invoice")

これはエラーです:

undefined method `workorder' for "10":String

助けてくれてありがとう!

4

1 に答える 1