2016-05-29 2 views
0

Я получаю «неинициализированную постоянную SwimResult»:рубин & Mongoid - Uninitialized постоянной

class LegResult 
    include Mongoid::Document 
    field :secs, type: Float 
    embedded_in :entrant 
    embeds_one :event, as: :parent 
    validates_presence_of :event 

    after_initialize do |doc| 
    doc.calc_ave 
    end 


    def calc_ave 

    end 

    def secs=value 
    self[:secs] = value 
    calc_ave 

    end 
end 


class SwimResult < LegResult 
    field :pace_100, as: :pace_100, type: Float 

    def calc_ave 
    end 
end 



class BikeResult < LegResult 
    field :mph, as: :mph, type: Float 

    def calc_ave 
    end 
end 

Я знаю, что это может произойти, когда классы находятся в отдельных файлах, но в моем случае они все в одном - класс LegResult и два подкласса, наследующих после него. Буду признателен за любую помощь.

+0

Каждый из ваших классов должны быть его собственным файлом, названным в честь класса, например. 'Приложение/модели/swim_result.rb'. Таким образом, механизм автозагрузки Rails будет работать правильно. – Agis

ответ

1

вам нужно переместить SwimResult и класс BikeResult к swim_result.rb и bike_result.rb Убедитесь, что требуется «leg_result» перед использованием, Это будет гарантировать, что файлы будут загружены в надлежащем порядке

Смежные вопросы