Rails/Devise - 通过json请求创建新用户

use*_*995 10 ruby-on-rails devise

我想通过JSON进行新的用户注册,但是我收到了无效的真实性令牌错误.

我想不要为所有控制器打开伪造检查.有关如何覆盖registrationcontroller的任何建议吗?

这是我的代码:

class Api::MobileRegistrationsController  < Devise::RegistrationsController 
  skip_before_filter :verify_authenticity_token
  respond_to :json
  def create
    super
  end
end
Run Code Online (Sandbox Code Playgroud)

路线:

Whitney::Application.routes.draw do
  resources :apps
  devise_for :users
  namespace :api do
    resources :tokens, :only => [:create, :destroy]
    resources :MobileRegistrations, :only => [:create] 
  end
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Routing Error
uninitialized constant Api::MobileRegistrationsController
Run Code Online (Sandbox Code Playgroud)

rpe*_*ayr 0

您可以构建自己的控制器,该控制器不是从设备控制器派生的。

def UserSignupApiController < ApplicationController
  skip_before_filter :authenticate_user!
  respond_to :json
  def create
    @user = User.create(params[user])
    respond_with(@user)
  end
end
Run Code Online (Sandbox Code Playgroud)

我想你应该已经明白了。您只需实例化您的 User,就像在 中所做的那样Rails console但我不推荐这种做法