2011-11-09 11 views
6

¿Cómo se transfiere un mensaje personalizado al correo electrónico invitable? Quiero que el invitador incluya un mensaje para el invitado, como "Oye, mira este sitio".Mensaje personalizado en el diseño de correo electrónico inviable

Intenté incluir ambos en los atributos y establecer una variable de instancia en el bloque, ninguno de los cuales parece ser accesible desde el correo electrónico.

user = User.invite!(:email => share.to_user_email, :message => "hey check this out") do 
    @message = "hey it's me!" 
    end 
+0

inevitable e-mail? – Ryan

+0

Whoops, nunca confíes en el corrector ortográfico ... – CambridgeMike

+0

¿te importaría aceptar la respuesta si está bien? Gracias por adelantado – okliv

Respuesta

11

que tiene que hacer rails generate devise_invitable:views users

por lo que recibirá nuevo archivo erb app/views/users/mailer/invitation_instructions.html.erb la que usted será capaz de personalizar en cualquier forma que desee

+2

en la versión de diseño actual debería ser app/views/idear/mailer/invitation_instructions.html.erb – santuxus

+1

¿Qué ocurre si recibo un mensaje de entrada del usuario? ¿Cómo puedo ponerlo en la vista? –

+0

debería hacer una nueva pregunta de SO ... solo apúnteme e intentaré ayudar ... es difícil compartir el código dentro de los comentarios – okliv

4

el contenido del correo está en app/views /devise/mailer/invitation_instructions.html.erb. Por defecto es:

<p>Hello <%= @resource.email %>!</p> 

<p>Someone has invited you to <%= root_url %>, you can accept it through the link below.</p> 

<p><%= link_to 'Accept invitation', accept_invitation_url(@resource, :invitation_token => @resource.invitation_token) %></p> 

<p>If you don't want to accept the invitation, please ignore this email.<br /> 
Your account won't be created until you access the link above and set your password.</p> 

modificar este archivo para personalizar.

6

La plantilla de correo electrónico le permitirá enviar el mismo mensaje para todos los correos electrónicos.

Aquí hay otra forma/caso, cuando está tomando el mensaje como una entrada del usuario.

modelo/user.rb

attr_accessor :message 

controlador

User.invite!({email: email}, current_user) do |user| 
    user.message = params[:message] 
    end 

/views/devise/mailer/invitation_instructions.html.erb

<p>Hello <%= @resource.email %>!</p> 

<p><%= @resource.message%>.</p> 
Cuestiones relacionadas