我在向我的应用程序添加自定义类时遇到困难。
这是一个抓取网站并返回结果的类。
我发现我需要将它放在 lib 文件夹中,我已经将自动加载路径指向了 lib 文件夹..这是我放置它的地方:
# /lib/booking_spider.rb
class BookingSpider
def cities( city )
return @cities
end
end
这就是我在 Controller 中调用它的方式:
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
关于ruby-on-rails - Rails 中的自定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6292975/