2012-04-04 5 views
5

Próbuję przesłonić domyślny program pocztowy Devise w celu zaimplementowania niestandardowej funkcjonalności. Devise wysyła e-maile, ale z pustymi ciałami. Usunąłem swój niestandardowy Mailer z całej jego funkcjonalności i uczyniłem go tak prostackim, jak to możliwe, ale bez skutku. Oto mój kod.Devise wysyła wiadomości e-mail z pustymi obiektami, gdy nadpisuję je mailer

# config/initializers/devise.rb 
config.mailer = DeviseMailer 

# app/mailers/devise_mailer.rb 
class DeviseMailer < Devise::Mailer 
end 

Odpowiedz

5

Twoja klasa oczekuje, że jej wyświetlenia będą widoczne w aplikacji/views/devise_mailer /. Jeśli chcesz użyć ciał opracowujących, wygeneruj je lub dodaj ścieżkę widoku.

+0

Już je wygenerowałem, ale zostawiłem w domyślnej lokalizacji. apps/views/devise/mailer. Na marginesie, czy lokalizacja widoków jest określona przez nazwę klasy/przestrzeń nazw, czy też przez położenie pliku, w którym zdefiniowana jest klasa? – Arjan

+3

tak, jest. jest taki sam jak photos_controller oczekuje powiązanych plików w app/views/photos /. Rails to więcej o konwencji niż konfiguracji – Sairam