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?
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:
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.