PilotRaceLapモデルクラスでは、別のクラスのメソッドを呼び出そうとしていますが、そのままNoMethodError
を取得しようとしています。あるクラスから別のクラスにメソッドを呼び出す
class PilotRaceLap < ActiveRecord::Base
acts_as_paranoid
belongs_to :race_session
def mark_splitted
prl = RaceSessionAdapter.track_lap_time(pilot.transponder_token,lap_time/2) <<<ERROR HERE
end
track_lap_timeは、このアダプタクラスで宣言されています
class RaceSessionAdapter
attr_accessor :race_session
def track_lap_time(transponder_token,delta_time_in_ms)
...
end
race_sessionモデルクラスは、そのように起動します:
class RaceSession < ActiveRecord::Base
acts_as_paranoid
has_many :pilot_race_laps
has_many :race_attendees
'defのself.track_lap_time'、自己ずにインスタンスメソッドを宣言しているが、あなたのようにそれを使用する必要があるために、このメソッドを書きますクラスメソッドselfを追加する必要があります – niceman
私はgitプロジェクトを編集しているので、track_lap_timeはすでにコードで使用されていると想定しています。メソッド自体を変更せずにメソッドに到達する他の方法はありませんか? –
'RaceSessionAdapter.new.track_lap_time' – niceman