ruby-on-rails - 如何使用 devise_invitable 在现有记录上调用邀请资源
问题描述
我有一个显示所有现有管理员的索引
对于已被邀请但尚未接受邀请的每个管理员,如果需要,我需要能够手动向他们发送新邀请。
或者换句话说,我如何重新邀请已经创建的记录?
我尝试在 devise_invitable wiki 上关注这里
但是,我并不完全清楚这是如何工作的。我将上面的代码添加到我的邀请资源中,所以我的邀请控制器中的方法现在看起来像这样:
控制器/invitations_controller.rb
def invite_resource(&block)
@admin = Admin.find_by(email: invite_params[:email])
# @user is an instance or nil
if @admin && @admin.email != current_admin.email
# invite! instance method returns a Mail::Message instance
@admin.invite!(current_admin)
# return the user instance to match expected return type
@admin
else
# invite! class method returns invitable var, which is a User instance
resource_class.invite!(invite_params, current_inviter, &block)
end
end
然后我试图只为这种方法制作一条路线:
配置/路由.rb
发布“/admin/invitation/invite_resource”=>“invitations#invite_resource”
然后最后在我的管理员索引中,每个管理员都循环通过。对于某些已被邀请但未接受邀请的人。我正在尝试在它们上添加一个看起来像这样的链接
<%= link_to admin_invitation_invite_resource_path(admin), method: :post do %>
<p">RESEND INVITE</p>
<% end %>
我敢肯定,我可能在这里做错了一些事情。但最终索引页面显示此配置。但是当我点击“重新发送邀请”按钮时,我得到了这个结果:
路由错误:未初始化的常量 InvitationsController
我的路线在这里不正确吗?
这里有更理想的方法吗?
解决方案
推荐阅读
- laravel - LARAVEL 在文件上传中从 isValid 获取错误
- python - 在 Centos 服务器上访问 Docker 容器
- r - 如何将数据框列的所有唯一值组合成一个字符串
- java - 使用 WindowBuilder 在树中选择一个 TreeItem
- ios - 间歇性和临时 iOS 钥匙串故障
- java - 删除随机生成的 UUID 中的“-”有多安全?
- r - 如何使用每小时值自动填充数据框并用零填充空白值?
- jpa - JPA 通过中间实体获取实体
- validation - 使用自定义规则对 K8s 配置文件 (YAML) 进行动态验证
- python - python 2.7.15中的反向三角形