Witam ,
Nie wiem czy ktoś się więcej bawił spree ale nie mogę zrozumieć jak tam są przekazywane parametry do variantu który jest tworzony jako master variant podczas dodawania nowego produktu.
Za wszystkie sugestie będę bardzo wdzięczny
Witam ,
Nie wiem czy ktoś się więcej bawił spree ale nie mogę zrozumieć jak tam są przekazywane parametry do variantu który jest tworzony jako master variant podczas dodawania nowego produktu.
Za wszystkie sugestie będę bardzo wdzięczny
Z tego co pamiętam (i o ile się nic nie zmieniło) to przez delegate
Czyli rozumiem że trzeba użyć gema delegate_belongs_to (https://github.com/pahanix/delegate_belongs_to), który przekaże parametry do modelu variant tak jak jest to zrobione https://github.com/spree/spree/blob/master/core/app/models/spree/product.rb#L34. Jak dobrze zrozumiałem ActiveRecord nie zapisze mi do bazy danych jeżeli nie uzupełnię obiektu danymi np. z formularza … ?
Nie znam tego gema ale dokładnie o to chodzi chyba. Z tego co pamiętałem to było to proste delegate, najwyraźniej ten gem ma jakieś dodatkowe zalety (z dokumentacji wnioskuję że chodzi głownie o obsługę Dirty itp.)
PS. Z tym że jeśli chodzi o “master” variant to od zawsze mnie dziwił, i uważam że nie ma on sensu trochę (powoduje więcej problemów niż rozwiązuje moim zdaniem) więc nie polecałbym tego wzorca poza spree.
Nie, po prostu wszystkie pola trzymane w Variant (cena, waga itd.) zostaną przekazane (oddelegowane) do master variantu przy tworzeniu bądź edycji produktu.
np. Product.first.price(=) tak naprawdę wywoła price(=) na master variancie tego produktu.
Nie musisz korzystać z żadnych ekstra gemów, to już jest załatwione w Spree.
No własnie o to mi chodzi jak bo podobną funkcjonalność potrzebuję u siebie zapiąć