Tôi có một vài mô hình đơn giản có liên quan như sau:xác nhận: hiện diện vs ray validates_presence_of sử dụng 3
NGƯỜI MẪU
class Task < ActiveRecord::Base
belongs_to :user
validates :name, :presence => true, :message => 'Name cannot be blank, Task not saved'
end
class User < ActiveRecord::Base
has_many :tasks
end
XEM có một cuộc gọi trong nó như vậy: user.tasks
< - sau đó tôi vòng qua các nhiệm vụ
các Vấn đề:
Trong mô hình nhiệm vụ -
khi tôi sử dụng:
validates :name, :presence => true , :message => 'Name cannot be blank, Task not saved'
tôi nhận được một lỗi 500:
ActionView::Template::Error (uninitialized constant User::Task):
NameError in View file
khi tôi sử dụng:
validates_presence_of :name
Tất cả mọi thứ hoạt động.
Tôi đã nghĩ cả hai phương pháp xác thực ở trên cùng một nơi ... là vấn đề phải làm với các liên kết và cách xác thực gắn với các mô hình liên quan. Tôi có linh cảm rằng một cái gì đó đang diễn ra với cách mọi thứ liên quan, nhưng nó chỉ là một linh cảm.
Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn rất nhiều.
Cảm ơn rất nhiều! Điều đó đã làm các trick! – RidingRails
Tôi có một câu hỏi về quốc tế hóa liên quan đến vấn đề này. Nếu Rails cung cấp tên trường, thông báo lỗi này có thể được bản địa hóa hoàn toàn như thế nào? Ví dụ: trong tiếng Tây Ban Nha, 'tên' phải là 'nombre'. Có cách nào để chặn hoàn toàn tin nhắn mặc định không? – jn29098
Tôi biết đây là một bài đăng cũ nhưng thông báo lỗi này nên được hiển thị ở đâu và hiển thị sau khi gửi biểu mẫu chẳng hạn? cảm ơn bạn – Richlewis