我在向我的应用添加自定义类时遇到了困难.
这是一个蜘蛛网站并返回结果的类.
我发现的是我需要将它放在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