2

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

4

1 回答 1

1

您可以在您的内部创建一个invite操作projects_controller.rb并直接邀请用户加入项目。

邀请后立即将受邀者关联User到一个Project。这是一个片段,可让您了解如何处理此问题。

# 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
于 2016-01-06T06:16:28.233 回答