加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何嵌套devise_invitable路由以邀请用户访问

发布时间:2020-12-17 02:35:23 所属栏目:百科 来源:网络整理
导读:问题 我在项目管理网络应用程序上使用devise和devise_invitable gem.我成功邀请新用户加入网络应用. 但我需要的是邀请新用户参与特定项目,而无法弄清楚如何做到这一点.我需要将项目ID作为路径的一部分,以便我可以正确连接控制器代码. 上下文 相关routes.rb部
问题

我在项目管理网络应用程序上使用devise和devise_invitable gem.我成功邀请新用户加入网络应用.

但我需要的是邀请新用户参与特定项目,而无法弄清楚如何做到这一点.我需要将项目ID作为路径的一部分,以便我可以正确连接控制器代码.

上下文

相关routes.rb部分如下:

devise_for :users,:controllers => { :invitations => "invitations" }

所以:

>用户/邀请/新作品的新邀请.
>我自己的invitations_controller.rb会覆盖默认的InvitationsController
>我有:项目作为我正在使用的资源,例如

resources :projects do
   resources :milestones,:task ... etc
 end

(我认为)我希望做出像这样的工作:

users/invitation/projects/4f3423d34323/new

解决方法

目前的方法是使用devise_scope指定路由:

devise_for :users,:controllers => { :invitations => "invitations" }

devise_scope :user do 
   match "/projects/:project_id/invitations/new",:to => "invitations#new",:via => "get",:as => "new_project_invitation"
end

这意味着我可以使用:

案例1:用户/邀请/新(用于邀请新用户访问网络应用)

案例2:projects /:project_id / invitations / new(用于邀请新用户访问Web应用程序项目)

invitations_controller #new检查是否存在:project_id并为Case 1或2调用适当的行为.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读