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.
Lược đồ db của bạn là gì? –
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