Ruby on rails 设计不可侵犯的获取无效令牌

Ruby on rails 设计不可侵犯的获取无效令牌,ruby-on-rails,devise,devise-invitable,Ruby On Rails,Devise,Devise Invitable,我用的是“设计”和“设计不可侵犯”。但是,当我尝试接受邀请时,它会说令牌无效。新设计在如何保存代币方面存在问题…我知道这是导致问题的原因() 然而,我仍然不知道如何修复它。创建者说使用@token…但我不知道如何获得@token。这个变量来自哪里?以下是我目前掌握的情况: class Users::InvitationsController < Devise::InvitationsController private def invite_resource resour

我用的是“设计”和“设计不可侵犯”。但是,当我尝试接受邀请时,它会说令牌无效。新设计在如何保存代币方面存在问题…我知道这是导致问题的原因()

然而,我仍然不知道如何修复它。创建者说使用@token…但我不知道如何获得@token。这个变量来自哪里?以下是我目前掌握的情况:

class Users::InvitationsController < Devise::InvitationsController
  private

  def invite_resource
    resource_class.invite!(email: params['user']['email'], company_id: current_user.company.id) do |u|
      # skip sending emails on invite
      u.invited_by_id      = current_user.id
      u.invited_by_type    = 'User'
      u.skip_invitation    = true
      u.invitation_sent_at = Time.now
    end
  end

  def accept_resource
    debugger
    resource = resource_class.accept_invitation!(update_resource_params)
  end

以前我使用的不是@token,而是invitation.invitation\u令牌,但我想这不是散列版本?我如何将正确版本插入上述验收链接?

您的电子邮件链接看起来很好,因为邮件者生成了
@令牌
。如果你像我一样,你可能有一个无效的列类型。例如,在我的邀请中,创建的类型错误,因此我进行了迁移,将其更改为datetime:

class ChangeUsersInvitationCreatedAtToDatetime < ActiveRecord::Migration
  def change
    change_column :users, :invitation_created_at, :datetime
  end
end
class ChangeUsersInvitationCreatedAtToDatetime
class ChangeUsersInvitationCreatedAtToDatetime < ActiveRecord::Migration
  def change
    change_column :users, :invitation_created_at, :datetime
  end
end