Jestem w Samouczku Railsowym pracującym nad ćwiczeniami pod koniec Rozdziału 2 i jestem zdumiony. www.railstutorial.org/book/toy_app#sec-toy_app_exercisesSamouczek poręczy - 2.5.2 Nie można wykonać ćwiczenia validaiton do pracy
Zadanie 2 mówi: „Aktualizacja listingu 2.19 zastępując FILL_IN z odpowiednim kodem, aby potwierdzić obecność nazwisko i e-mail atrybutów w modelu użytkownika (rysunek 2.20) . "
i to całkiem proste Listing 2.19:
Adding presence validations to the User model. app/models/user.rb
class User < ActiveRecord::Base
has_many :microposts
validates FILL_IN, presence: true
validates FILL_IN, presence: true
end
Pierwszą rzeczą, jaką zrobiłem było typowe noobem błąd i po prostu skopiowane w kodzie prosto z aukcji. System wrócił i zapytał mnie, jaka jest ta zmienna "FILL_IN".
Następną rzeczą, jaką zrobił, było spróbować wprowadzenie nazw pól w moim pliku user.rb
class User < ActiveRecord::Base
has_many :microposts
validates name, presence: true
validates email, presence: true
end
Running this, gets me a the following error „NameError w UsersController # tworzyć” „niezdefiniowana zmienna lokalna lub metoda` e-mail”dla # "
Szyny działa tak, jak nie rozpoznaje wiadomości e-mail lub nazwy pól z mojego modelu.
Próbowałem kapitalizować nazwę i e-mail, próbowałem robić je w liczbie mnogiej, próbowałem przejść do "konsoli szyn", aby sprawdzić, czy poprawnie utworzyłem pola "nazwa" i "e-mail" (tak zrobiłem).
Próbowałem szuka odpowiedzi na to, szafa doszedłem było someone just pasting in the FILL_IN lines and getting harpooned for it.
Mam nadzieję, że nie zostały pominięte coś tak oczywistego, ale jestem przygotowany na to, czy ja.
Jaki jest twój schemat db? –
Użyj 'validates: name, presence: true',' validates: email, presence: true' (Użyłem symboli dla nazw kolumn) – cristian