Namespace model, jak to powinno byc?

Walczę z tym już trochę…

Mam sobie namespace w modelu, dokladnie to mam rozne typy faktur sprzedazy.

sale_invoices
-base.rb
-normal.rb
-simple.rb

wszystkie dziedzicza po base i w sumie jest elegancko, moge sobie szukac
SaleInvoice::Normal, robic SaleInvoice::Normal.new itd

jak zrobie obiekt SaleInvoice::Base.new robi mi sie typu normal (?, tak ma byc? czy powinno w ogole wywalac)
schody zaczynaja sie kiedy chce wyszukac wszystkie faktury a nie te danego typu czyli teoretycznie
SaleInvoice::Base.find(:all)

to nie dziala poniewaz

ActiveRecord::SubclassNotFound: The single-table inheritance mechanism failed to locate the subclass: ‘SaleInvoice’. This error is raised because the column ‘type’ is reserved for storing the class in case of inheritance.

dopiero po dodaniu klasy SaleInvoice::SaleInvoice zaczyna dzialac ten find, co jest dosc dziwne bo mozna wtedy stworzyc obiekt SaleInvoice::SaleInvoice o typie SaleInvoice…

czy tak aby powinno być?
wieeeelkie dzieki za pomoc :slight_smile:

http://www.google.com/search?client=safari&rls=en&q=rails+single+table+inheritance+namespace&ie=UTF-8&oe=UTF-8

pierwszy wynik może pomoże :)?

(dla potomnych, gdyby priorytety wuja Gugla sie zmieniły: http://st-on-it.blogspot.com/2008/03/single-table-inheritance-with-nested.html )

Mam Question i dziedziczące po nim np LongText, dla Question mam has_many :choices, po zmianie jak wyżej mam błąd: undefined method `choices’ for #LongText:0xb6c4339c

@sevos dzieki, na taka fraze do wpisania w google nie wpadlem, pytanie teraz skad Rails “bierze” ze jak zrobie SaleInvoice.new to on ustawia mu np “normal” a nie “simple” ?

@Artur79 a co to jest choices, skad to ma byc brane?

Questio has_many :choices, model Question jest w relacji jeden do wielu z Choice.
W chwili obecnej mam LongText < Question, bez namespace i ścieżke dodana w environment.rb i działa, ale myslałem że z namespace nie trzeba będzie tej ścieżki.

@Artur79: w tym wątku pomagamy Goorsky’emu - załóż osobny

@Goorsky - pokaż swój kod, to coś może się wymyśli - najlepiej skorzystaj z http://pastie.org albo z http://gist.github.com/