def create
if User.invite!(user_params)
flash[:success] = t("flashes.users.create_success")
else
flash[:error] = t("flashes.users.create_error")
end
redirect_to company_path(id: company.slug)
end
User.invite!
creará el usuario, luego enviará una invitación para establecer una contraseña. Solo quiero que envíe una invitación para establecer la contraseña y luego solo persista al usuario si el usuario ha establecido una contraseña.
Respuestas
1 para la respuesta № 1No me molestaría con la implementación invitable de ese tipo.
Quizás prefiera agregar una columna de estado al usuario utilizando enumeraciones, para que pueda aislar a los usuarios que no han aceptado sus invitaciones y, como dijo uno de los comentaristas, eliminar a los usuarios obsoletos más tarde.
enum status: {invited: 0, accepted: 1}
entonces puedes hacer lo siguiente:
User.invite!(status: "invited")
deberá establecer el estado "aceptado" cuando el usuario acepte enganchando las devoluciones de llamada que proporciona la gema (consulte https://github.com/scambra/devise_invitable)