如何邀请用户使用devise_invitable投影?

时间:2015-12-04 07:50:03

标签: ruby-on-rails devise devise-invitable

我正在构建应用,可以邀请用户访问特定项目/工作区/团队。但默认情况下,它允许用户访问应用程序,而不是特定项目。这个问题似乎很相似How to nest devise_invitable route to invite user to specific project 有谁知道,在这种情况下如何覆盖 invitations_controller

1 个答案:

答案 0 :(得分:1)

您可以在invite内创建projects_controller.rb操作,并邀请用户直接参与项目。

只需在邀请后立即将受邀UserProject相关联。这是一个片段,让您了解如何处理这个问题。

# POST /projects/:id/invite { name: "John Smith", email: "john@email.com" }
def invite
  # Set the current project
  @project = Project.find(param[:id])

  # Create your own strong_invite_params method to allow name and email
  invited_user = User.invite!(strong_invite_params, current_user)

  # If a simple belongs_to :project association
  invited_user.update(project: @project.id)

  # If a complex association through a separate projects_membership table
  invited_user.projects << @project
end