如何在Devise中为令牌验证控制器执行操作之前跳过?

时间:2017-11-15 14:08:49

标签: ruby-on-rails devise

我在行动之前使用除了来自Devise的auth之外的所有路线中的params。 所以,我想跳过令牌验证的before操作。 我已经通过覆盖它们跳过会话控制器和注册控制器,但我不知道如何覆盖令牌验证控制器。

2 个答案:

答案 0 :(得分:2)

您可以阻止过滤器在使用skip_before_action回调的特定操作之前运行,例如:

skip_before_action :verify_authenticity_token, only: :action

操作是您要禁用verify_authenticity_token的方法。

答案 1 :(得分:1)

感谢您的帮助。 实际上,我需要覆盖令牌验证控制器以跳过在验证令牌之前运行的操作。 动作是我自己创造的方法。 我得到的解决方案是覆盖TokenValidationsController,用于添加我已在会话控制器和注册控制器中使用的 skip_before_action

class Custom::TokenValidationsController < DeviseTokenAuth::TokenValidationsController
    skip_before_action :action, only: :validate_token
    ...
end