Rails Email Preview giúp chúng ta xem nhanh email trong trình duyệt web ở chế độ phát triển.
1) Thêm “gem ‘rails_email_preview’, ‘~> 0.2.29’ “
vào tệp gem và cài đặt gói.
2) Chạy “rails g rails_email_preview:install”
điều này tạo trình khởi tạo trong thư mục cấu hình và thêm các tuyến đường.
3) Chạy “rails g rails_email_preview:update_previews”
thư mục mailer_previews thùng này trong thư mục ứng dụng.
Generator sẽ thêm phần sơ khai vào mỗi email của bạn, sau đó bạn điền phần sơ khai bằng dữ liệu giả.
Ví dụ:
class UserMailerPreview
def invitation
UserMailer.invitation mock_user(‘Alice’), mock_user(‘Bob’)
end
def welcome
UserMailer.welcome mock_user
end
private
def mock_user(name = ‘Bill Gates’)
fake_id User.new(name: name, email: “user#{rand 100}@test.com”)
end
def fake_id(obj)
obj.define_singleton_method(:id) { 123 + rand(100) }
obj
end
end
4) Các tham số trong truy vấn tìm kiếm sẽ có sẵn dưới dạng một biến thể hiện cho lớp xem trước. Ví dụ: nếu chúng ta có một URL giống như
“/emails/user_mailer_preview-welcome?user_id=1”
@user_id
được định nghĩa trong phương thức chào mừng, UserMailerPreview
nó sẽ giúp chúng ta gửi thư đến người dùng cụ thể.
class UserMailerPreview
def welcome
user = @user_id ? User.find(@user_id) : mock_user
UserMailer.welcome(user)
end
end
5) Để truy cập url REP như thế này
rails_email_preview.rep_root_url
rails_email_preview.rep_emails_url
rails_email_preview.rep_email_url(‘user_mailer-welcome’)
6) Chúng tôi có thể gửi email qua REP, điều này sẽ sử dụng cài đặt môi trường phong bì. Bỏ ghi chú dòng này trong trình khởi tạo để tắt tính năng gửi thư trong môi trường thử nghiệm.
config.enable_send_email = false
Nguồn: RailsCarma Blog: Xem trước email trong ứng dụng Rails với Gem Mail_View