我使用此命令创建了一个资源
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 :(得分:0)
所以,这种情况正在发生,因为您的应用正在模块下寻找类Taxi
,该模块被假定为当前位置(STRS
)。
但是,要获得Taxi
课程,您必须指定它应该从正确的位置获取,如下所示:
taxi_set= ::Taxi.all
这样可以防止它在当前位置(Taxi
)查找STRS
。
或者,您可以在特定模块(例如Taxi
)下获取TaxiModule
课程,然后专门调用该课程,如下所示:
taxi_set= TaxiModule::Taxi.all
希望这会对你有所帮助。