ruby-on-rails - Rails 中的自定义类

标签 ruby-on-rails

我在向我的应用程序添加自定义类时遇到困难。

这是一个抓取网站并返回结果的类。

我发现我需要将它放在 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/

相关文章:

ruby-on-rails - 使用 Link_to 和 Data-no-turbolink 发送参数

ruby-on-rails - 带有 Twitter Bootstrap : still serving an old asset 的 Rails

ruby-on-rails - 验证失败时如何保持相同的网址

javascript - 如何编辑由 ruby​​gem 创建/引用的 .js 文件?

ruby-on-rails - Rails (PostgreSQL) 中文本列的默认大小

ruby-on-rails - 如何从查询字符串中删除空值参数

javascript - Heroku bootstrap 导航栏不渲染

ruby-on-rails - 详细说明 MVC 如何在 Rails 中工作,以及 Controller 如何与表单等通信?

javascript - 带有 Angular 的 Rails - uiView 未定义

带有提供功能的 Rails HTML 编码/转义