2015-11-20 2 views
0

Я сделал ресурс, используя эту командунеинициализированная постоянная STRS :: Такси (NameError)

rails g resource Taxi 

и все о такси в порядке. У меня есть модель, контроллер и представления. Но я также добавил класс в своем controller folder. Это не относится к какому-либо ресурсу, и я использую его, потому что он мне нужен как часть приложения.

Однако проблема заключается в том, что когда я хочу назвать модель своего такси в классе.

class STRS 

    def get_all_avalible_taxi() 

     taxi_set= Taxi.all 
     taxi_set 

    end 
end 

и в строке taxi_set= Taxi.all я получаю следующее сообщение об ошибке:

uninitialized constant STRS::Taxi (NameError) 

мне кажется, он не может распознать Taxi model. Затем я попытался добавить

require '../models/taxi.rb' 

но он также не работал.

ответ

0

Итак, это происходит потому, что ваше приложение ищет класс Taxi под модулем, который считается текущим местоположением (STRS).

Однако, чтобы получить Taxi класс, вы должны указать, что оно должно быть получено от нужного места следующим образом:

taxi_set= ::Taxi.all 

Это позволит предотвратить его от ищу Taxi в текущем местоположении (STRS).

В качестве альтернативы, Вы можете получить свой Taxi класс под конкретным модулем (TaxiModule, например), а затем конкретно называете это следующим образом:

taxi_set= TaxiModule::Taxi.all 

Надеется, что это помогает.

+0

не работает – Salman

+0

какая ошибка вы получаете сейчас? такая же ошибка? –

+0

все тот же. ** Точка STRS - это класс, а не модуль **. Это что-то меняет? – Salman

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