2009-03-02 14 views
9

Jaki jest najlepszy sposób zgłaszania błędów w polach formularzy niezwiązanych z konkretnym modelem w Railsach? Jako przykład mam formularz do tworzenia grupowych kont użytkowników z losowymi użytkownikami/hasłami. Przyjmuje jako dane wejściowe ilość użytkowników do wykonania, informacje o atrybutach wszystkich użytkowników oraz informacje o partii, która jest przechowywana w modelu user_batches skojarzonym z utworzonymi użytkownikami.Błędy w polach innych niż modele w szynach

Idealnie byłoby, aby jakiś errors_on był podobny do listy błędów pochodzących z pola ilościowego, które nie jest powiązane z żadnym modelem, z polami informacji o użytkowniku, powiązanymi z tworzonymi rekordami użytkownika i z modelem user_batches z minimalnym kodem.

Dotyczy to również formularzy wyszukiwania i tym podobnych, które nie są sprawdzane pod kątem AR. Jakieś pomysły?

Odpowiedz

3

Możesz samodzielnie dodawać własne błędy do obiektu modelu w ten sposób.

@user_batch.errors.add_to_base("Foo") 
+0

Dzięki! Ale co byś zrobił, gdyby nie było konkretnego przypadku, aby go dodać. Podobnie jak w przypadku formularza wyszukiwania z wieloma opcjami, w których z powodu nieprawidłowego zapytania nie zostały zwrócone żadne obiekty? Lub dla raportu, który pokazuje wynik złożonego zapytania SQL zwracającego brak obiektu, tylko dane surowe? –

+0

Jednym z podejść byłoby zachowanie prostego zestawu błędów, które chcesz wyświetlić, a które rozbudowałeś w trakcie działania kontrolera. Następnie przekonwertuj to na wiadomość flash bezpośrednio przed renderowaniem. – jdl

+0

Dzięki JDL, właśnie tego miałem nadzieję uniknąć, ale wygląda na to, na co teraz pójdę. Podoba mi się, jak errors_on jest tak wyraźnie związany z formularzem, podczas gdy wiadomość flash jest bardziej związana ze stroną. –

Powiązane problemy