ビュー内で Liquid テンプレートを使用してメールを送信するLiquid error: undefined method 'to_liquid' for #<Email:0x007f9ca1a62d28>
と、オブジェクトでエラーが発生します。Email
ただし、ブラウザーでビューを単独でレンダリングすると、問題なく動作します。
これが私の見解です:
= raw @template.render('email' => @email, 'organization' => @organization)
%p= sanitize("<a href='{{ unsubscribe_url }}''>Click here to unsubscribe</a>")
%p{style:'text-align:center;'}
Sent with
= link_to 'Vocalem', 'http://vocalem.com'
私のメーラーの関連部分:
class BulkMailer < ActionMailer::Base
def bulk_email(recipients, email, organization)
...
@organization = organization
@email = email
@template = Liquid::Template.parse(organization.current_email_template.body)
関連するモデル コード:
liquid_methods :subject, :body, :id
最後になりましたが、Liquid でエラーが発生した例 (ただし、通常のビューでは問題なく動作しています!):
{{email.body}}
奇妙なことに{{organization.display_name}}
、エラーはスローされませんが、電子メールでは完全に空白になっています (プレーンビューで再び正常に動作しているにもかかわらず)。
ここで何が起こっているのか手がかりはありますか?