0

「Transpo.rb」という名前の lib ディレクトリにモジュールがあります。

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はインスタンス メソッドとして定義されていますが、クラス メソッドとして呼び出しています。

のようなものでインスタンスを作成するかinstance = Transpo::FT.new、 の定義getCitiesを bedef self.getCitiesに変更してクラス メソッドにします。

于 2012-05-07T23:23:23.427 に答える