Pytanie odnośnie relacji

Mam pewien problem z relacjami. Myślę że nie mam co się zbytnie rozwodzić, pastie: http://pastie.org/465483 .
Z góry dzięki za wszelką pomoc.

Tak na oko to to chyba nie powinno działać ?? W has_many :order_items nie ma polimorfizmu nic, mozesz dodac , :as => :item i w modelu Package dodaj belongs_to :item, , :polymorphic => true …

http://apohllo.pl/guides/association_basics.html#_asocjacje_polimorficzne

EDIT:

po spojzeniu na Pastie zastanawiam sie ze nie do konca Ci chyba o to chodzilo :slight_smile: [quote=swistaczek]…Myślę że nie mam co się zbytnie rozwodzić, pastie: http://pastie.org/465483 …[/quote]
Wypadalo by sie chociaz troche rozwiesc :stuck_out_tongue:

Chcę osiągnąć coś takiego: mam taki jakby mały sklep. Są tam zamówienia i elementy zamówień (order items), do elementów zamówień mogą należec różne rzeczy (np. paczki [model packages], albo domeny [model domains]). Modelu domains jeszcze nie wstawiłem wyżej, gdyż go nie ma, ale chodzi mi o łatwą możliwość rozbudowy, dlatego biję w polimorficzność.

To zrob tak jak napisałem, i kazdy nowy element zamowienia powinien zawierac belongs_to :item, :polymorphic => true i odpowiadac na spojny interfejs i powinno byc dobrze …

Chyba nie do końca rozumiem, bo coś mi nie działa http://pastie.org/465807
edycja:

>> Order.first.order_items => []
ale to już działa, idzie jakoś zaliasować żeby było Order.first.items ?
Jednak nie http://pastie.org/465810

No moze nie jestem na biezaco z tym ja widze i uzylbym tu poprostu dziedziczenia chyba…

choc nie pomoge to odnosnie nazewnictwa jak masz w modelu Order:

has_many :order_items, :as => :item

Oznacza to ze Order ma order_items jako :item, tzn pozwala Ci to na

order_item.item item.order_item
tak wiec :item z tego przypadku powinno okreslac zamowienie czyli np order
, owner lub cos takiego :). Wiec jak chcesz miec odwoloanie przez
Order.first.items musisz dac

has_many :items, :as => :owner i w modelach nalezacych do zamowienia belongs_to :owner, :polymorphic => true