Estoy intentando configurar rutas para una API móvil, que debería tener una api-ruta versionada. Ya pude hacer que el Auth móvil funcione, que se implementa en un Controlador independiente AuthController ubicado en /controladores/api/v1/mobile/.Error de enrutamiento: constante no inicializada
Ejemplo de uso:
myapp.com/api/v1/mobile/auth
Pero ahora quiero registrar mi Ressources-controladores existentes a este camino de patrón como API-rutas adicionales. Concreto: este sería el TasksController ubicado en /controllers/tracker/tasks_controller.rb. Por lo que añade una ruta móvila la definición de rutas:
# routes.rb
namespace :tracker, path: 'timetracking' do
resources :tasks, 'jobs'
end
namespace :api do
namespace :v1 do
namespace :mobile do
resources :auth, :only => [:create, :destroy]
namespace :tracker do #added mobile route
resource :tasks, controller: 'tracker/tasks', as: :mobile_tasks
end
end
end
end
Pero cuando llamo myapp.com/api/v1/mobile/tracker/tasks que se traduce en un mensaje de error:
Routing Error
uninitialized constant Api::V1::Mobile::Tracker
Agregué especialmente el alias : mobile_tasks a esta ruta, para evitar cualquier conflicto con la ruta de tareas original anterior. ¿Alguna idea, cómo configurar el controlador correctamente para esta ruta?
Actualización # 1
Definir esta ruta como un ámbito en lugar de un espacio de nombres, no funcionó también.
scope "/api/v1/mobile/tracker" do
resources :tasks, controller: 'tracker/tasks', as: :mobile_tasks
end
Pero esta vez, ni siquiera resolvió la ruta misma.
Routing Error
No route matches [GET] "/api/v1/mobile/tracker/tasks"
supongo que podría ser un problema, que mi ruta móviles API adicional trata de apuntar a un espacio de nombres completamente diferente rastreador.
Hola Krists, gracias por tu respuesta. Actualicé mi pregunta-texto con los rieles-salida con respecto a su sugerencia. – loybert
¿Ha probado el comando 'rake routes' para imprimir todas las rutas definidas en orden de coincidencia y nombres? Debería ayudarlo a depurar este problema. – Krists
thx por la buena pista con 'rutas de rastrillo'. me ayudó a resolver esto :) – loybert