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