过滤链停止为:validate_sign_up_params呈现或重定向 - devise_token_auth

时间:2016-01-26 12:14:41

标签: ruby-on-rails ruby ruby-on-rails-4 postman rails-api

我正在使用 devise_token_auth 作为身份验证在rails上运行ruby,我每次从 postman google chrom 扩展名。下面是我的设置

的Gemfile

gem 'devise'
gem 'omniauth'
gem 'devise_token_auth'
gem 'byebug'
gem 'rack-cors', :require => 'rack/cors'

的routes.rb

mount_devise_token_auth_for 'User', at: 'auth'

application_controller.rb

 include DeviseTokenAuth::Concerns::SetUserByToken
    before_action :authenticate_user! , :except=>[:new, :create]

用户模型:

  devise :database_authenticatable, :registerable,
          :recoverable, :rememberable, :trackable, :validatable,
          :confirmable, :omniauthable
  include DeviseTokenAuth::Concerns::User

  after_initialize :set_provider #, :set_uid

def set_provider
    byebug
 self[:provider] = "email" if self[:provider].blank?

end


def set_uid
  byebug
  self[:uid] = self[:email] if self[:uid].blank? && self[:email].present?
end 

我有点担心为什么byebug中的这些User Model无效!因为我认为它不是模型用户

2 个答案:

答案 0 :(得分:1)

实际上,在我的案例中,这是一个很大的错误。由于参数错误而导致POST错误,在我的情况下,我发送了正确的参数,但包含在validate_sign_up_paramsuser[name]等用户对象中。所以我所要做的就是解开这些并打电话如下:

user[email]

答案 1 :(得分:0)

尝试将您的项目与此repo进行比较。 我们基本上设置了相同的环境。请特别注意此file,了解身份验证请求的工作原理。