我在向我的应用添加自定义类时遇到了困难.
这是一个蜘蛛网站并返回结果的类.
我发现的是我需要将它放在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
谁能告诉我我在这里失踪了什么?
谢谢!
解决方法
您正在尝试将该方法用作类方法,但它被定义为实例方法.改为:
- class BookingSpider
- def self.cities(city)
- return @cities
- end
- end
以下是关于类和实例方法之间差异的一些解读:method types in Ruby