NoMethodError rails



我在lib目录中有一个名为"Transpo.rb"的模块:

module Transpo
  class FT
    def getCities
      ...
    end
  end
end

在控制器中,我有

require 'Transpo.rb'
class TranspoController < ApplicationController
 def index
    @transpo = Transpo::FT.getCities()
    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @transpo }
    end
  end

但是当我运行"http://localhost:3000/transpor"时总是给出错误:

NoMethodError in TranspoController#index
undefined method `getCities' for Transpo::FT:Class

为什么?我已经在 application.rb 中设置了auto_load库,但继续遇到同样的问题。

getCities定义为实例方法,但您将其调用为类方法。

要么创建一个类似 instance = Transpo::FT.new 的实例,要么更改要def self.getCitiesgetCities的定义以使其成为类方法。

最新更新