2011-06-20 17 views
6

Mam problem z ustaleniem, jak zaimplementować wielostronicowy formularz Rails 3 z przesyłanymi plikami, gdzie każdy krok jest obsługiwany przez akcje aktualizacji/edycji w kontrolerze.Szyny 3 wieloetapowy formularz z przesyłaniem plików

Ryan Bates przedstawił swoją wspaniałą screencast, jak wykonywać wielostopniowe formularze przy użyciu sesji, a także krótki opis, jak osiągnąć podobne czynności, zapisując dane w bazie danych na początkowym etapie, a następnie wykonując aktualizacje na kolejnych etapach. krok. Przeczytałem również jego gist, podając bardziej szczegółowe wyjaśnienie niektórych różnych opcji tworzenia wieloetapowej formy (pochylam się w kierunku opcji 1).

Ale wciąż jestem trochę zagubiony, jeśli chodzi o faktyczne wdrożenie wieloetapowej formy. Moim celem jest wykorzystanie operatora nośnika do przesyłania plików (obrazów), a być może także przepływu pracy przez geekq do maszyny stanów, aby pomóc w sprawdzaniu poprawności na każdym etapie.

Po prostu, aby było jasne, obecnie próbuję utworzyć wpis w bazie danych na początkowym etapie kreatora i każda kolejna strona aktualizuje model.

Wszelkie pomysły?

Przykład lub punkt we właściwym kierunku zostałby bardzo doceniony.

Dzięki!

Uwaga: Czytałem inne stanowisko, gdzie Wspominają coś o klucz/wartość danych-sklepu, ale niestety jest nieco nad moją głową ...

Odpowiedz

0

sklep klucz-wartość lub SQL dla tej sprawy są bardzo luźno związany z twoim rzeczywistym problemem. To są tylko różne podejścia do tego, jak twoje dane są rzeczywiście przechowywane w zapleczu. Korzystanie w taki czy inny sposób nie ma większego znaczenia w twoim przypadku.

Jeśli chodzi o faktyczne pytanie, uważam to za zbyt ogólne dla SO. Formularze wieloetapowe wydają się bardzo różne od siebie. Nie ma "jednego dobrego sposobu" na robienie tego.

Przyczyna, dla której nie otrzymujesz żadnych odpowiedzi w tej sprawie, prawdopodobnie nie jest prawdziwe pytanie. Powinieneś postarać się o rzeczywistą implementację i zadać bardziej szczegółowe pytania, gdy trafisz gdzieś na ścianę.

Podsumowując - uważam, że formy wieloetapowe nie są najlepszym pomysłem jeśli chodzi o użyteczność. Oczywiście istnieją uzasadnione powody, aby z nich korzystać w niektórych przypadkach, ale powinieneś pomyśleć dwa razy, jeśli istnieje sposób, aby uniknąć tych w twoim przypadku.

Jednym z problemów, które miałem przed laty z formularzami i przesyłaniem, było sprawdzanie poprawności (nie jest to związane z krokiem Multi/Single specjalnie). Zwykle, gdy sprawdzanie poprawności nie powiedzie się, użytkownik musiałby ponownie przesłać plik. Na szczęście w twoim przypadku nie stanowi to problemu, ponieważ Carrierwave obsługuje to automatycznie.

+0

Dziękujemy za odpowiedź i opinię! – kwiksilvr