我在向自己的应用添加自定义类时遇到了困难。
这是一个蜘蛛网站并返回结果的类。
我发现我需要把它放在lib文件夹中,我已经将自动加载路径指向了lib文件夹..这就是我把它放到的地方:
# /lib/booking_spider.rb
class BookingSpider
def cities( city )
return @cities
end
end
这就是我在控制器中调用它的方式:
p BookingSpider.cities( params[:search][:city] )
此错误不断弹出:
undefined method `cities' for BookingSpider:Class
有人能告诉我我在这里缺少什么吗?
谢谢!
答案 0 :(得分:11)
您正在尝试将该方法用作类方法,但它被定义为实例方法。改为:
class BookingSpider
def self.cities(city)
return @cities
end
end
以下是关于类和实例方法之间差异的一些解读:method types in Ruby