railsがんばる子

Ruby on Railsがんばる子です。胡蝶蘭のECサイトを運営しています。

ActionMailerを使ってる時にERBテンプレートでエラーしたときの原因特定方法

ActionMailerにて、erbテンプレートを利用することはよくあると思いますが、開発中にエラーが起きても下記の様に原因がよくわからないことがあります。

> Mailer.sth(@order)
=> #<ActionMailer::Base::NullMail:0x007f93bf3c8638>

ERBテンプレートだけを検証することで、原因を探ることが出来ます。

> ERB.new(File.new('app/views/mailer/sth.text.erb').read).result
ArgumentError: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
from ............................/lib/action_dispatch/http/url.rb:45:in `full_url_for'

なんか、URLの生成でしくじってるみたいですね☆