0

我在 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 库,但仍然遇到同样的问题。

4

1 回答 1

2

getCities被定义为实例方法,但您将其称为类方法。

要么用类似的东西创建一个实例,要么将toinstance = Transpo::FT.new的定义更改为使其成为类方法。getCitiesdef self.getCities

于 2012-05-07T23:23:23.427 回答