提问人:Djozeph 提问时间:7/20/2022 更新时间:7/21/2022 访问量:454
设计出诱人的变革accept_invitation_url
Devise invitable change accept_invitation_url
问:
在邀请邮件中,我可以看到生成接受链接的方法:
accept_invitation_url(@resource, invitation_token: @token)
我想知道如何编辑(或覆盖)此方法,以便我可以将我的自定义路由放在那里。我见过一些类似的线程,但其中大多数都已过时或没有提供任何有效的解决方案。
有人可以解释一下它是如何工作的吗?
答:
1赞
Zain Asif
7/20/2022
#1
您可以使用自己的内容自定义邮件视图
使用它来生成设计可邀请的视图 有关视图的更多信息,请查看此链接。rails generate devise_invitable:views
并自定义以使您的工作正常使用。在此文件中,您可以将此方法更改为通过这样做,您可以发送您喜欢的任何链接,然后您还必须为其编写一个路由,该路由调用默认的 designing 方法。app/views/devise/mailer/invitation_instruction.html.erb
<p><%= link_to 'Text Here', "YOUR_OWN_ROUTE_HERE?invitation_token=#{@token}" %></p>
更新
当您邀请用户时,它将调用 Users::InvitationsController 的创建操作,您也可以覆盖控制器,请参阅自定义设计邀请控制器
评论
0赞
Djozeph
7/20/2022
它可以工作,但我不想改变视图,而是改变函数或路径本身
2赞
itsnikolay
7/20/2022
@Djozeph最好覆盖视图。但是,如果您只想更改助手,则可以使用router.rb
:as
post 'some/where', as: :accept_invitation
0赞
Zain Asif
7/21/2022
我同意@itsnikolay因为最好覆盖而不是创建新功能。
0赞
Djozeph
7/21/2022
好的,我改变了观点,谢谢你的帮助!
评论