Upload i parsowanie pliku z danymi

Cześć, w swojej aplikacji, oprócz dodawania info o produktach przez panel administratorski chcę mieć możliwość importu danych z pliku, np. YAML. Chodzi o import informacji o produkcie (biżuterii). Mam plik, w którym jest całe info i zastanawiam się czy muszę do tego tworzyć nowy kontroler? Gdzie powinny znaleźć się metody do parsowania tego pliku, gdzie metody dodawania nowego prduktu z info z pliku?

Formularz uploadu będzie w tym samym miejscu co formularz tworzenia nowego produktu…

Jak najwięcej w modelu (np. Product.import_from_yaml),
natomiast pytanie czy upload pliku (lub też np. plik z produktami wraz z akcjami new, create) powinien być nowym zasobem, czy też dodatkowymi akcjami istniejącego zasobu (Produkt) to pytanie z zakresu religijnych :wink:
Generalnie łatwiej (chyba bardziej “true” z restowego punktu widzenia) będzie jeśli jednak aplikacja będzie miała zasób product_file czy product_import.

A jeszcze - jeżeli jeden produkt składa się z innych, które też trzeba dodać, to wywoływać metodę create danego modelu kilkukrotnie z różnymi (kolejnymi) parametrami?

Ale to zależy wyłącznie od Twojego widzimisię :slight_smile:
Możesz przecież zdefiniować w modelu metodę typu Product.mass_create itp. itd.
Generalnie rób jak najwięcej (ale nie wszystko!), żeby kontrolery były jak najmniejsze (jak najmniej linii każdej akcji) – niech całą czarną robotę odwalają modele.