2014-09-05 1 views
0

Я начинаю программист, и я только что реализовал Mailboxer в своем веб-приложении Ruby on Rails 4. Все работает отлично, но я хочу, чтобы получатели были именами пользователей, а не их электронной почтой. Я искал часы и не могу найти точный ответ. Вот мой код, хотя это точно то, что инструктирует документация.Mailboxer Изменить получателей с электронной почты пользователя до имени пользователя RoR 4

конфигурации/Инициализаторы/mailboxer.rb

Mailboxer.setup do |config| 

    #Configures if you application uses or not email sending for Notifications and Messages 
    config.uses_emails = true 

    #Configures the default from for emails sent for Messages and Notifications 
    config.default_from = "[email protected]" 

    #Configures the methods needed by mailboxer 
    config.email_method = :mailboxer_email 
    config.name_method = :name 

    #Configures if you use or not a search engine and which one you are using 
    #Supported engines: [:solr,:sphinx] 
    config.search_enabled = false 
    config.search_engine = :solr 

    #Configures maximum length of the message subject and body 
    config.subject_max_length = 255 
    config.body_max_length = 32000 
end 

приложение/модели/user.rb

acts_as_messageable 

    ... 

    def name 
    email 
    end 

    def mailboxer_email(object) 
    email 
    end 

Любая помощь будет принята с благодарностью. Я пробовал играть с кодом, но я просто не могу получить правильную комбинацию настроек. Спасибо огромное!

ответ

0

Это в основном особенность приема почты агента пользователя, который принимает почтовый заголовок

To: somebody <[email protected]> 

и отображает только «Somebody». Один из способов, чтобы построить этот заголовок должен быть

def mailboxer_email(object) 
    "#{name} <#{email}>" 
end 

если переменная name содержит имя пользователя, которую агент пользователя почты для отображения.