在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
答案 0 :(得分:1)
track_lap_time应该是一个类方法(它现在是实例方法)。只需在名称前添加self.
。
def self.track_lap_time()
...
end
或在class << self
块
class << self
def track_lap_time()
...
end
end
答案 1 :(得分:0)
使用RaceSessionAdapter.new.track_lap_time()