1

我正在尝试使用

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
4

0 回答 0