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
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ę
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.