2011-01-26 20 views
14

È possibile avere un mailer Rails 3 senza alcuna visualizzazione?Rails mailer senza vista

Quando si tratta di messaggi di solo testo, sarebbe bello poter inserire il corpo nel mailer stesso e non dover utilizzare una vista per l'azione con una sola riga di testo (o una chiave I18n) .

In un certo senso, sto cercando qualcosa come "rendering: text =>" di ActionController, ma per ActionMailer.

risposta

19

Molto più semplice, basta utilizzare il opzione corpo:

def welcome(user) 
    mail to:  user.email, 
     from:  "\"John\" <[email protected]>", 
     subject: 'Welcome in my site', 
     body: 'Welcome, ...' 
end 

E se si prevede di utilizzare html, non dimenticare di specificarlo con content_type opzione che è l'impostazione predefinita text/plain.

content_type: "text/html" 


Quindi, con corpo rotaie opzione salta la fase di modello di rendering.