2015-11-03 3 views
2

В моем файле контроллера:Как отправить приложение в электронную почту с помощью программы?

class RegistrationsController < Devise::RegistrationsController 
    layout "devise" 
    before_action :check_url, only: [:new] 

    def create 
    attachments["logo.png"] = File.read("#{Rails.root}/public/assets/images/logo.png") 
    super 
    end 
end 

На мой взгляд файла:

<%= image_tag attachments['logo.png'].url %> 

После чем я получаю эту ошибку,

неопределенные локальных переменных или метод `вложений для

+0

Я хочу отправить регистрационную почту пользователю и в том, что я хочу, чтобы добавить изображение логотипа в шаблоне почты. –

+0

@pulkit Agarwal это не сработало для меня :( –

+0

напишите свой код контроллера здесь –

ответ

2

Переопределение конструкции cr метод eate не является хорошим решением. вы можете написать обратный вызов для этого.

class User < ActiveRecord::Base 
    # ... 

    after_create :send_admin_mail 
    def send_admin_mail 
    UserMailer.send_new_user_message(self).deliver 
    end 

    # ... 
end 

и ваша почтовая программа пользователя должна выглядеть

class UserMailer < ApplicationMailer 
    default from: '[email protected]' 

    def send_new_user_message(user) 
    @user = user 
    @url = 'http://example.com/login' 
    attachments.inline['image.jpg'] = File.read('/path/to/image.jpg') 
    mail(to: @user.email, subject: 'Welcome to My Awesome Site') 
    end 
end 
+0

Я реализовал это же, но я не вижу изображение в шаблоне почты. –

+0

вы можете поделиться вы git repo или gist, так что я могу проверить, что там происходит не так? –

+1

это отлично работает для меня. Я заблокировал прикрепленное изображение в моей учетной записи gmail. Thnx –

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