/ / Używanie modułu ActiveRecord w klasie non ActiveRecord - ruby-on-rails, class, activerecord, enums, module

Używanie modułu ActiveRecord w klasie non ActiveRecord - ruby-on-rails, class, activerecord, enums, module

Mam problem z klasą non ActiveRecord.

Mam prostą klasę, jak:

class Factory

end

bez klasy matki "ActiveRecord :: Base".

Teraz próbuję użyć enums z modułu ActiveRecord :: Enum, więc używam:

include ActiveRecord::Enum

ale kiedy zadzwonię

enum value: [:Info, :Test]

Pojawia się następujący komunikat o błędzie:

undefined method `enum" for JavaFactory:Class

Jak mogę teraz użyć wyliczenia z dołączonego modułu?

Dziękuję Ci!

Z poważaniem Kumaro

Odpowiedzi:

1 dla odpowiedzi № 1

Powinieneś extend twoja klasa z ActiveRecord::Enum, nie include to, ponieważ odbiorca metody enum jest klasą samą w sobie, nie instancjami.

Wymiana pieniędzy

include ActiveRecord::Enum

do

extend ActiveRecord::Enum

powinien naprawić bieżący wyjątek (chociaż sugeruję, aby przejść dokumentacja na ActiveRecord :: Enum, ponieważ nie mam pojęcia, w jaki sposób zamierzasz (zgodnie z moją wiedzą nie możesz używać go z modelem bez bazy danych).