我正在使用Rails 3和Devise的现有Web应用程序.我目前的任务是向应用程序添加JSON API.我创建了一个Mobile :: SessionsController(<Devise :: SessionsController),它使用仅数据响应实现'#create'.
问题出在路由中.现在,routes.rb的相关部分如下:
# For the web app:
devise_for :users, :controllers => {:sessions => 'sessions',
:registrations => 'registrations'}
as :user do
get "/login" => "devise/sessions#new"
get "/logout" => "devise/sessions#destroy", :as => :logout
post '/signup' => 'registrations#signup', :as => :signup
end
# And for the API, later on:
namespace :api do
namespace :user do
devise_for :users, :controllers => {:sessions => 'mobile/sessions'},
skip: :all
devise_scope :user do
post 'login' => 'mobile/sessions#create'
end
...
Run Code Online (Sandbox Code Playgroud)
数据端点位于/ api/user/login.rake routes列出以下内容:
api_user_login …Run Code Online (Sandbox Code Playgroud)