未初始化的常量STRS :: Taxi(NameError)

时间:2015-11-20 22:27:23

标签: ruby-on-rails

我使用此命令创建了一个资源

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' 

但它也没有用。

1 个答案:

答案 0 :(得分:0)

所以,这种情况正在发生,因为您的应用正在模块下寻找类Taxi,该模块被假定为当前位置(STRS)。

但是,要获得Taxi课程,您必须指定它应该从正确的位置获取,如下所示:

taxi_set= ::Taxi.all

这样可以防止它在当前位置(Taxi)查找STRS

或者,您可以在特定模块(例如Taxi)下获取TaxiModule课程,然后专门调用该课程,如下所示:

taxi_set= TaxiModule::Taxi.all

希望这会对你有所帮助。