Tôi đang cố gắng thiết lập tuyến đường cho API di động, cần có api-path được phiên bản. Tôi đã có thể thực hiện tác vụ Auth trên thiết bị di động, được triển khai trong Bộ điều khiển riêng biệt AuthController nằm ở /controllers/api/v1/mobile/.Lỗi định tuyến: hằng số không được khởi tạo
dụ Cách sử dụng:
myapp.com/api/v1/mobile/auth
Nhưng bây giờ tôi muốn đăng ký hiện ressources-lý của tôi vào đó đường dẫn mẫu như thêm api tìm đường khác. Bê tông: đây sẽ là TasksController được đặt tại /controllers/tracker/tasks_controller.rb. Vì vậy, tôi đã thêm một tuyến đường di động để các tuyến đường nét:
# 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
Nhưng khi tôi gọi myapp.com/api/v1/mobile/tracker/tasks nó kết quả trong một lỗi thông điệp:
Routing Error
uninitialized constant Api::V1::Mobile::Tracker
Tôi đặc biệt thêm bí danh : mobile_tasks vào tuyến đường này, để tránh bất kỳ xung đột nào với tuyến đường tác vụ gốc ở trên. Bất kỳ ý tưởng, làm thế nào để thiết lập bộ điều khiển đúng cho tuyến đường này?
Update # 1
Xác định tuyến đường này như một phạm vi thay vì một không gian tên, không làm việc là tốt.
scope "/api/v1/mobile/tracker" do
resources :tasks, controller: 'tracker/tasks', as: :mobile_tasks
end
Nhưng lần này, nó thậm chí không giải quyết được chính đường dẫn đường.
Routing Error
No route matches [GET] "/api/v1/mobile/tracker/tasks"
tôi giả sử nó có thể là một vấn đề, đó là con đường di động-api thêm tôi cố gắng để trỏ đến một hoàn toàn khác nhau namespace tracker.
Xin chào Krists, cảm ơn câu trả lời của bạn. Tôi đã cập nhật câu hỏi-văn bản của tôi với đường ray-đầu ra liên quan đến đề xuất của bạn. – loybert
Bạn đã thử lệnh 'rake routes' để in ra tất cả các tuyến được xác định theo thứ tự và tên khớp? Nó sẽ giúp bạn gỡ lỗi vấn đề này. – Krists
thx cho gợi ý tốt với 'các tuyến đường rake'. đã giúp tôi làm việc này :) – loybert