2015-01-19 6 views
5

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.

+0

Jaki jest twój schemat db? –

+3

Użyj 'validates: name, presence: true',' validates: email, presence: true' (Użyłem symboli dla nazw kolumn) – cristian

Odpowiedz

10

@ Octopus-Paul Awesome, dwukropek (:) przed nazwami zmiennych jest dokładnie tym, czego potrzebowałem.

class User < ActiveRecord::Base 
    has_many :microposts 
    validates :name, presence: true 
    validates :email, presence: true 
end 
+0

To samo przydarzyło mi się! – skwidbreth

Powiązane problemy