2014-12-11 2 views
0

Я хочу отправить по электронной почте предварительный просмотр для получения подтверждения почты и т. Д. Через rails email preview gem, и он интегрируется с удобным мексиканским диким cms. Мне нужно редактировать содержимое почты через эти cms. Рельсы Email Preview не интегрирована с удобными диванами мексиканскими СМИ для меня, и я буду стараться моим уровень, но не работать me.how сделать его работу я не ясно, о it.Somebody помочь мнеrails 4 devuse использовать Предварительный просмотр эл. Почты gem

Вот моего Gemfile

gem 'rails_email_preview', '~> 0.2.28' 
gem 'comfortable_mexican_sofa', '~> 1.12.0' 

Вот мой конфиг/инициализаторы/rails_email_preview.rb файл

require 'rails_email_preview' 

#= REP hooks and config 
# RailsEmailPreview.setup do |config| 

# # hook before rendering preview: 
# config.before_render do |message, preview_class_name, mailer_action| 
# # apply premailer-rails: 
# Premailer::Rails::Hook.delivering_email(message) 
# # or actionmailer-inline-css: 
# ActionMailer::InlineCssHook.delivering_email(message) 
# end 
# 
# # do not show Send Email button 
# config.enable_send_email = false 
# 
# # You can specify a controller for RailsEmailPreview::ApplicationController to inherit from: 
# config.parent_controller = 'Admin::ApplicationController' # default: '::ApplicationController' 
#end 

#= REP + Comfortable Mexican Sofa integration 
# 
# # enable comfortable_mexican_sofa integration: 
    require 'rails_email_preview/integrations/comfortable_mexica_sofa' 

Rails.application.config.to_prepare do 
    # Render REP inside a custom layout (set to 'application' to use app layout, default is REP's own layout) 
    # This will also make application routes accessible from within REP: 
    # RailsEmailPreview.layout = 'admin' 

    # Set UI locale to something other than :en 
    # RailsEmailPreview.locale = :de 

    # Auto-load preview classes from: 
    RailsEmailPreview.preview_classes = Dir[Rails.root.join 'app/mailer_previews/*_preview.rb'].map { |p| 
File.basename(p, '.rb').camelize 
} 
end 

Здесь Мое приложение/mailer_previews/devise_mailer_preview.rb файл

class DeviseMailerPreview < ActionMailer::Preview 

    def confirmation_instructions 
    user = User.first 
    DeviseMailer.confirmation_instructions(user) 
    end 
end 

Здесь Мое приложение/отправители/devise_mailer.rb файл

class DeviseMailer < Devise::Mailer 
    default from: "[email protected]" 

    def confirmation_instructions(user) 
    @user = user 
    mail to: user.email 
    end 
end 

Здесь Мое приложение/просмотров/изобрести/Подтверждения/confirmation_instructions.html.erb

<%= @user.name %>, 

<p>You can confirm your account email through the link below:</p> 

<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @token) %></p> 

Вот мой devise.rb

config.mailer = "DeviseMailer" 

Здесь мои файлы файл

mount RailsEmailPreview::Engine, at: '/emails' 
comfy_route :cms_admin, :path => '/admin' 

Спасибо, ваша помощь!

ответ

0

Это ошибка Rails. Исправлено в Rails master. Пока вам просто нужно переопределить маршруты предварительного просмотра почтовых сообщений в вашем приложении. Смотрите это для более подробной информации:

https://github.com/comfy/comfortable-mexican-sofa/issues/553

https://github.com/rails/rails/blob/b47d8dea25aa4c1b0d02603adc00cf63f2163f21/actionmailer/lib/action_mailer/railtie.rb#L44

Смежные вопросы