在 rails 中自定义 devise_invitable 电子邮件

customizing devise_invitable email in rails

我有一个带有默认设计邀请的 rails 应用。我想更改电子邮件正文和主题行,但默认邮件程序如下所示:

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

<p><%= t("devise.mailer.invitation_instructions.hello", email: @resource.email) %></p>

<p><%= t("devise.mailer.invitation_instructions.someone_invited_you", url: root_url) %></p>

<p><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, :invitation_token => @token) %></p>

<p><%= t("devise.mailer.invitation_instructions.ignore").html_safe %></p>

我不知道如何编辑它。

我找到了这个资源: https://github.com/scambra/devise_invitable/wiki/Customizing-for-different-Invite-use-cases-(emails-etc.)。 据我了解,它告诉您如何更改主题以及如何允许用户创建自定义邀请消息。

但我不希望他们能够创建自己的消息。我只是想发送一条系统消息,而不是说 "Somebody has invited you...",而是动态插入邀请者的名字,如 "John Smith has invited you.."。我在 belongs_to 用户模型的配置文件模型中有 first_name 和 last_name 属性,所以我想我的邮件应该包含类似 @user.profile.first_name @user.profile.last_name.

就运行

rails generate devise_invitable:views

并且它会生成相关视图的本地副本。然后您可以在 /app/views/devise/mailer/invitation_instructions.html.erb

中编辑该邀请正文