2012-08-24 20 views
5

Görünüşe göre, rayları 3.2.8'e yükselttiğimde, e-posta oluşturduğumda ve gönderdiğimde gövde ayarlanmadı. Bu zaman zarfında postacıların çevresinde hiçbir kod değişmedi, ActionMailer istisnası da 3.2.8'e yükseldi.ActionMailer boş gövdeli e-postalar gönderiyor

aşağıdaki yöntemi ile app/mailers yılında beta_request_mailer.rb var: app/views/beta_request_mailer/beta_request_email.html.erb

eposta sadece herhangi vücudun olmadan, ince gönderiliyor:

def beta_request(request) 
    mail(
    :to => "#{request[:name]} <#{request[:email]}>", 
    :subject => 'Thanks for requesting an invite to xxxxx!' 
) 
end 

Ben de iyi çalıştı vücut dosyası var. Konsolda çalışan, beta_request'te oluşturulan posta nesnesinin mail.body'u çalıştırırken gövdesi yoktur. Eğer bir vücudu manuel olarak ayarlarsam, bu yollanır.

Farkında olmadığımı neler değişti?

cevap

1

dosya adından sağlamamız gerekti kaldırarak Sabit

+0

+1 Şu anda açık, ama #action'ın benim görünümümle aynı ada sahip olduğundan emin olmak zorundaydım. – you786

2

Ben de tamam geldi ve doğru konu ile ancak postada hiçbir içerik ile ve .deliver kullanıyor ise e-postaları başlamıştı! Sadece .deliver yöntemi yerine sorunu çözdü (neden bilmiyorum).

+2

Dikkat etmeliyim ki 'teslim et! (Teslim etmenin aksine) e-posta gibi geri çağrıları atlıyor engelleyiciler] (http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails) ve bu nedenle dikkatli kullanılmalıdır. – nickcoxdotme

1

Çözümüm çok ilginçti.

  1. İlk olarak, Rails 4 uygulamasında, mailer için düzen dosyası olmadan bir hata oluştu.

  2. mailer.html.slim boş düzen dosyası oluşturdum. Bu, gönderilen ancak içerik içermeyen postalarla sonuçlandı.

  3. Çözüm cazibe gibi mailer.html.slim

Works içindeki ==yield eklemek oldu. Umarım bu senin sorunundu ve bu sana yardım etti.

İlgili konular