gpt4 book ai didi

ruby-on-rails - 如何嵌套 devise_invitable 路由以邀请用户加入特定项目

转载 作者:行者123 更新时间:2023-12-05 01:32:04 26 4
gpt4 key购买 nike

问题

我正在使用 devisedevise_invitable项目管理 Web 应用程序上的 gems。我已成功邀请新用户使用 Web 应用程序。

但我需要的是邀请新用户加入特定项目,但不知道该怎么做。 我需要项目 ID 作为路径的一部分,以便我可以正确连接 Controller 代码。

语境

相关routes.rb部分看起来像:

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

所以:
  • users/invitation/new适用于新邀请。
  • 我自己的 invitations_controller.rb覆盖默认值 InvitationsController
  • 我有 :projects作为我正在使用的资源,例如
     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: users/invitation/new (用于邀请新用户使用 Web 应用程序)



    案例2: projects/:project_id/invitations/new (用于邀请新用户加入 Web 应用程序 + 项目)
    invitations_controller#new检查 :project_id 的存在并为案例 1 或 2 调用适当的行为。

    关于ruby-on-rails - 如何嵌套 devise_invitable 路由以邀请用户加入特定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9354368/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com