我正在尝试使用
u = User.invite!({:email => "myemail@live.com", :name => "John Doe"}, User.find(1))
当我实际上只希望更新用户表时,为什么 Devise Invitable 试图将具有奇怪/错误值的公司和 company_roles 插入表中。
此行为会导致 ROLLBACK,因为邀请没有正确的值来更新这些表。
我只想在用户接受邀请后在回调中保存诸如 company_role 之类的内容。如何在回调函数中执行此操作以及如何访问邀请发送的初始值。
例如,我可以这样做吗?
u = @referrer.invite!({
email: params[:email],
title: params[:title],
first_name: params[:first_name],
last_name: params[:last_name],
website: @website,
company_id: @company,
country: @country,
}, @referrer)
然后稍后在 User 模型中使用 this 检索接受回调中的一些值?
after_invitation_accepted :email_invited_by
def email_invited_by
# ...
end