rails中的自定义类

Tim*_*aas 7 ruby-on-rails

我在向我的应用添加自定义类时遇到了困难.

这是一个蜘蛛网站并返回结果的类.

我发现的是我需要将它放在lib文件夹中,我已经将自动加载路径指向lib文件夹..这是我把它放在的地方:

# /lib/booking_spider.rb

class BookingSpider

  def cities( city )

    return @cities

  end

end
Run Code Online (Sandbox Code Playgroud)

这就是我在控制器中调用它的方式:

p BookingSpider.cities( params[:search][:city] )
Run Code Online (Sandbox Code Playgroud)

此错误不断弹出:

undefined method `cities' for BookingSpider:Class
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我在这里失踪了什么?

谢谢!

Jer*_* B. 11

您正在尝试将该方法用作类方法,但它被定义为实例方法.改为:

class BookingSpider
  def self.cities(city)
    return @cities
  end
end
Run Code Online (Sandbox Code Playgroud)

下面是对类和实例方法之间差异的一些解读:Ruby中的方法类型