小编H. *_*ill的帖子

同一rails资源的多个devise_for路由

我正在使用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)

ruby rspec ruby-on-rails devise ruby-on-rails-3

8
推荐指数
1
解决办法
666
查看次数

标签 统计

devise ×1

rspec ×1

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1