2015-01-19 11 views
5

Tôi đang ở trong Hướng dẫn Rails làm việc về các bài tập ở cuối Chương 2 và tôi bị bối rối. www.railstutorial.org/book/toy_app#sec-toy_app_exercisesRails Tutorial - 2.5.2 Không thể tập thể dục validaiton để làm việc

Chuyển nhượng 2 nói, "Update Listing 2.19 bằng cách thay thế FILL_IN với mã thích hợp để xác nhận sự hiện diện của tên và email của các thuộc tính trong mô hình tài khoản (Hình 2.20) . "

và nó khá thẳng về phía trước Liệt kê 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 

điều đầu tiên tôi đã làm là Noob sai lầm điển hình và chỉ cần sao chép trong các mã thẳng ra khỏi danh sách. Hệ thống đã trở lại và hỏi tôi biến "FILL_IN" này là cái gì.

Sau đó tôi đã làm, đã cố gắng đưa vào các tên trường trong tệp user.rb tôi

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 trong UsersController # tạo ra" "biến địa phương không xác định hoặc phương pháp 'email' cho # "

Rails hoạt động như không nhận ra email hoặc các trường tên từ mô hình của tôi.

Tôi đã cố gắng tận dụng Tên và Email, tôi đã cố gắng làm cho chúng số nhiều, tôi đã cố gắng đi đến "đường ray giao diện điều khiển" để xác nhận rằng tôi đã tạo các lĩnh vực "Tên" và "email" một cách chính xác (tôi đã làm).

Tôi đã cố gắng tìm kiếm một câu trả lời cho điều này, tủ quần áo tôi đến là someone just pasting in the FILL_IN lines and getting harpooned for it.

Tôi hy vọng rằng tôi đã không bỏ lỡ một cái gì đó giống như hiển nhiên, nhưng tôi đã chuẩn bị cho nó nếu tôi đã làm.

+0

Lược đồ db của bạn là gì? –

+3

Sử dụng 'validates: name, presence: true',' validates: email, hiện diện: true' (Tôi đã sử dụng các ký hiệu cho các tên cột) – cristian

Trả lời

10

@ Octopus-Paul Tuyệt vời, dấu hai chấm (:) trước tên biến là chính xác những gì tôi cần.

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

Điều tương tự đã xảy ra với tôi! – skwidbreth

Các vấn đề liên quan