2

ユーザーを特定のプロジェクト/ワークスペース/チームに招待できるアプリを作成しています。ただし、デフォルトでは、特定のプロジェクトではなく、ユーザーをアプリに招待できます。この質問は非常に似ているようです特定のプロジェクトにユーザーを招待するために devise_invitable ルートをネストする方法この場合、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 に答える