GAURAV VARMA
Rails 6 introduces parameterized mailers, which simplify mailer usage by setting instance variables shared across mail methods.
Before
Each mail method had to receive parameters and assign them manually:
1class UserMailer < ApplicationMailer
2 def welcome(user)
3 @user = user
4 mail(to: @user.email)
5 end
6end
After: Parameterized Mailer
1class UserMailer < ApplicationMailer
2 def welcome
3 mail(to: @user.email)
4 end
5end
6
7UserMailer.with(user: user).welcome.deliver_later
Instance variables like @user
are automatically available, reducing duplication.
Links
Summary
Parameterized mailers reduce boilerplate and make mailer usage more consistent. This update helps keep mailer code clean and focused on delivery.