[英]Rails make devise JSON API
我對如何將devise設置為JSON
API感到困惑。
我看了看這個腳本 ,但是遇到了一些麻煩。
首先,我創建了一個controller / api文件夾,並放置了registrations_controller.rb
和sessions_controller.rb
。
然后我修改routes.rb
devise_for :users
namespace "api", :as=>:api do
devise_for :users
end
registrations_controller.rb
class Api::RegistrationsController < Api::BaseController
respond_to :json
def create
user = User.new(params[:user])
if user.save
render :json=> user.as_json(:auth_token=>user.authentication_token, :email=>user.email), :status=>201
return
else
warden.custom_failure!
render :json=> user.errors, :status=>422
end
end
end
但是,當我嘗試將post
請求發送到http://localhost:3000/api/registrations/create
,它引發了錯誤
No route matches [POST] "/api/registrations"
我如何修改routes.rb
,以便可以發送post
請求。
由於您已經創建了自定義控制器,因此需要為其指定路由器:
resources :registrations, only: [:create]
如果您不打算使用設計控制器,則可以禁用其路由器,但不要刪除它們。
devise_for :users, skip: :all
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.