Неинициализированная константа из суперкласса

У меня есть константа FUU внутри классов Foo и Foo2, и чтобы высушить мой код, я переместил метод внутрь суперкласса BaseStuff. Именно так:

class BaseStuff
  def to_s
    FUU
  end
end

class Foo < BaseStuff
  FUU = "ok"
end

class Foo2 < BaseStuff
  FUU = "ok2"
end

Но моя проблема в том, что после:

a = Foo.new
puts a.to_s

Я получаю эту ошибку:

NameError: неинициализированная константа BaseStuff::FUU

Есть ли лучшая практика, чтобы исправить это?


person Doug    schedule 01.04.2012    source источник


Ответы (1)


person    schedule
comment
Вау, хорошо работает! Однако это может быть сложно использовать в моем случае, потому что я добавляю эту константу динамически. Спасибо, в любом случае. - person Doug; 01.04.2012