Przychodze do was z jeszcze jednym malym problemem…
Proboje zwalidowac formularz ajaxowy(o ile ma to jakies znaczenie?). Problem w tym, ze sama walidacja dziala i post nie idzie, ale za to ni cholery nie chca sie wyswietlic bledy.
[code]#model
class Book < ActiveRecord::Base
…
validates_presence_of :text
…
A jak wygląda kod, który obsługuje ajaksowe zapytanie o dodanie tej książki. Być może jest tak, że on nie odświeża tego fragmentu, gdzie ma być wyświetlony komunikat. I chyba tak rzeczywiście tak jest, bo nie widać tu żadnego IDika, po którym by się do tego dobierał.
Hmm, nawet jesli dodac ID i je refreshnac to i tak nic sie nie dzieje… Moze jakies zle zalozenie koncepcyjne mam?
Co powinny pokazywac logi, jezeli formularz nie przeszedl walidacji? Bo u mnie po prostu dalej proboje wykonac create.js, tyle ze dostaje pusty obiekt.
Wiem, że w Railsach jest dużo magii, ale chyba nie aż tyle ile oczekujesz. Po odświeżeniu strony (pobraniu jej GET-em) nie wyświetlą Ci się błędy walidacji (prawdopodobnie nie robisz żadnej walidacji w akcji edit kontrolera). Jeśli chcesz wyświetlić błędy w ten sposób, to wypadałoby je wysłać w jakiś sposób do przeglądarki i wyświetlić za pomocą JavaScriptu. Jak to zrobić? Wszystko zależy od tego czego używasz do JavaScriptu. Raczej proponowałbym zacząć od “Agile Web Development with Rails”.
Czy wiecie jak stworzyć validates_presence_of aby sprawdzał XORem czy jakieś atrybuty sa ustawione?
Konkretnie chodzi mi o to, ze mam dwa checkboxy i chcę mieć pewność, że użytkownik zaznaczy tylko jeden z nich.
True…
Korzystam jednak z Hobo, który mi generuje domyślnie checkboxy. Czuję się mało pewnie żeby przerabiać to na radioboxy, ale w sumie warto spróbować, może faktycznie będzie to prostsze…