Spree - dodawanie "properties" z formularza edycji produktu

Witam,

Mam pytanie do użytkowników Spree. Czy istnieje w miarę prosty sposób na dodanie obiektu ‘Property’ bezpośrednio z formularza edycji produktu? Na chwilę obecną wymagane jest utworzenie odpowiedniego ‘Property’. Chciałbym obejść się bez tego, tzn. żeby obiekt był tworzony automatycznie po kliknięciu ‘Update’ w formularzu edycji produktu.

W którym miejscu najlepiej wprowadzić zmiany aby uzyskać taki efekt?

Z góry dziękuję za pomoc.
Pozdrawiam

Musiałbyś nadpisać lub rozszerzyć aktualny widok admin/products/new z jakimiś zagnieżdżonymi parametrami. I potem to obsłużyć w kontrolerze.

A właśnie dodanie pól do modelu Product albo zrobienie kolejnej asocjacji 1:1 z jakimś nowym modelem nie jest lepszym rozwiązaniem?

Wczoraj o coś takiego pytałem
http://rubyonrails.pl/forum/t3877-Modyfikowanie-modelu-Product-w-Spree-ecommerce

Zależy jakei to pole. Generalnie jeżeli ma funkcjonować jako property, a dodatkowe pole w formularzu ma za zadanie tylko zwiększyć usability (bo na przykłąd większość produktów ma ten parameter).

To wtedy mozna spróbować tak:

  • jest stworzyć odpowiedni prototyp produktu w panelu admina,
  • zmodyfikować lekko spree na przykład dodając kolejny button, obok standardowego żeby przy tworzeniu produktu korzystał z danego rpototypu.
  • Wtedy już używając nested attributes ładnie tworzymy sobie property w jednym formularzu

Dziękuję wszystkim za odpowiedzi. Ostatecznie doszedłem do tego, że można zrobić to w następujący sposób:

  1. Dodać własny dekorator: app/controllers/admin/products_controller_decorator.rb

[code]Admin::ProductsController.class_eval do
update.before :manage_property

def manage_property
# Do work here
end
end[/code]
2) Teraz w metodzie manage_property można stworzyć nowe Property (ewentualnie edytować, usunąć) na podstawie zagnieżdżonych parametrów.

Czy to jest w miarę dobre rozwiązanie?
Pozdrawiam

Jeżeli działa, robi to co chcesz, i da się to potem utrzymać, to jest to bardzo dobre rozwiązanie :wink: