2016-08-31 6 views
0

Как и в случае с вопросом this, но ответы здесь не работают.Rails namespaced controller неинициализированная постоянная ошибка

В routes.rb

scope '/api/ do 
    namespace :v1 do 
    scope :reports do 
     get '/reportXYZ', to: 'reports#reportXYZ' 
    end 
    end 
end 

В app/controllers/V1/reports_controller.rb

module V1 
    class ReportsController < ApplicationController 
     def reportXYZ 
     ... 
     end 
    end 
end 

ошибка:

uninitialized constant V1 на Windows, только, отлично работает на убунту. Как так?

+3

Ваш на диске каталог должен быть 'v1', а не' V1'. Исправьте синтаксические ошибки в файле маршрутов. – meagar

+0

Вы имеете в виду, что это работает на Windows, а не на Ubuntu? – amingilani

+0

Вышеприведенный код отлично работает на ubuntu и debian, но не на окнах (достаточно интересно и не работает новая подсистема linux на windwos 10) – Killerpixler

ответ

0

В маршрутах .RB файл вместо того, чтобы писать рамки для апи записи, как этот

namespace :api do 

    namespace :v1 do 

    scope :reports do 
     get '/reportXYZ', to: 'reports#reportXYZ 
    end 
    end 

end 

И в контроллере

module api 

    module V1 

    class ReportsController < ApplicationController 
     def reportXYZ 
     ... 
     end 
    end 

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