はい。を使用して必然的なビューを作成できます
rails generate devise_invitable:views
生成されたメーラー ファイル:
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>
<%
url_part = if @resource.is_a?(Admininstrator)
'administrators'
else
@resource.class.to_s.underscore.pluralize
end
%>
<p><%= link_to t("devise.mailer.invitation_instructions.accept"),
"http://#{MAILER_HOST}/#{url_part}/invitation/accept?invitation_token=#{@token}" %></p>
<p><%= t("devise.mailer.invitation_instructions.ignore").html_safe %></p>
注: 表示されるルート sub_part は、主にデバイス ルートをオーバーライドする方法によって生成されます。
つまり、チェック
rake routes | grep -i invitation
パスあり
new_administrator_invitation GET /administrators/invitation/new(.:format) /administrators/invitations#new
以下を使用して、この方法でオーバーライドできます。
devise_for :administrator, controllers: {
sessions: 'administrators/sessions',
registrations: 'administrators/registrations',
passwords: 'administrators/passwords',
invitations: 'administrators/invitations' ### <== NOTE THIS
},
path_names: {
sign_in: 'login',
sign_out: 'logout',
registration: 'register'
},
path: 'administrators' ### <== NOTE THIS
私のセットアップでこの問題を修正しました。
楽しい。