2015-03-10 3 views
0

Может кто-то помочь мне понять следующее сообщение об ошибке (при тестировании) и поэтому при создании запроса на запись в мой контроллер регистраций создать действие Я использую /lnf.jsonDEViSE Маршруты для апи

В моих маршрутов у меня есть следующие ограничения и путь установки

constraints(subdomain: 'api') do 
    devise_for :users, path: 'lnf', controllers: { registrations: "registrations" } 
end 

И мой контроллер зарегистрирования

class RegistrationsController < Devise::RegistrationsController 
    skip_before_action :verify_authenticity_token 
    respond_to :json 

    def create 
    super 
    end 

end 

Если я сделать пост запрос через завитка к http://api.local.dev:3000/lnf.json Я получаю ответ, который мне нужен.

Когда я хочу, чтобы проверить это с помощью RSpec У меня есть простая испытательная установка

post :create, format: :json, :user => {user params here} 

Но я получаю сообщение об ошибке при выполнении теста

AbstractController::ActionNotFound: 
Could not find devise mapping for path "/lnf.json? 

Может кто-нибудь помочь мне понять, что происходит здесь пожалуйста.Keen, чтобы понять это.

Благодаря

EDIT

Вывод рейк маршрутов по запросу

new_user_session GET /lnf/sign_in(.:format)   devise/sessions#new {:subdomain=>"api"} 
     user_session POST /lnf/sign_in(.:format)   devise/sessions#create {:subdomain=>"api"} 
destroy_user_session DELETE /lnf/sign_out(.:format)   devise/sessions#destroy {:subdomain=>"api"} 
     user_password POST /lnf/password(.:format)   devise/passwords#create {:subdomain=>"api"} 
    new_user_password GET /lnf/password/new(.:format)  devise/passwords#new {:subdomain=>"api"} 
    edit_user_password GET /lnf/password/edit(.:format) devise/passwords#edit {:subdomain=>"api"} 
        PATCH /lnf/password(.:format)   devise/passwords#update {:subdomain=>"api"} 
        PUT /lnf/password(.:format)   devise/passwords#update {:subdomain=>"api"} 
    user_confirmation POST /lnf/confirmation(.:format)  devise/confirmations#create {:subdomain=>"api"} 
new_user_confirmation GET /lnf/confirmation/new(.:format) devise/confirmations#new {:subdomain=>"api"} 

регистрации контроллер

cancel_user_registration GET /lnf/cancel(.:format)   registrations#cancel {:subdomain=>"api"} 
    user_registration POST /lnf(.:format)     registrations#create {:subdomain=>"api"} 
    new_user_registration GET /lnf/sign_up(.:format)   registrations#new {:subdomain=>"api"} 
edit_user_registration GET /lnf/edit(.:format)    registrations#edit {:subdomain=>"api"} 
        PATCH /lnf(.:format)     registrations#update {:subdomain=>"api"} 
        PUT /lnf(.:format)     registrations#update {:subdomain=>"api"} 
        DELETE /lnf(.:format)     registrations#destroy {:subdomain=>"api"} 
       lnf POST /lnf(.:format)     registrations#create {:subdomain=>"api", :format=>"json"} 

ответ

0

это выглядит как devise_for маршрутов часть нужно настроить немного (или добавить специальный маршрут для вашего дела с lnf aka «post»/lnf ', to:' registrat ion # create ', defaults: {format:' json '} "). не могли бы вы поставить вывод «рейк-маршруты»? grep devise 'здесь?

+0

Спасибо, я обновил маршрут для регистрации # create, вы хотите все маршруты? – Richlewis

+0

с этим специальным маршрутом, как бы я переопределить маршрут, предоставленный моей текущей настройкой? – Richlewis

+0

не могли бы вы показать мне вывод 'рейк-маршруты | grep devise' –

Смежные вопросы