Điều này có vẻ giống như một câu hỏi đơn giản nhưng tôi dường như không thể tìm thấy câu trả lời ngắn bằng cách viết trình xác thực tùy chỉnh. Tôi có trình xác thực nàyRails 3 xác nhận quy tắc dựa trên hành động
validates :password, :presence => true, :confirmation => true, :length => { :minimum => 5}
có nhiều quy tắc được áp dụng như một số quy tắc phức tạp hơn, nhưng điều này cho phép nắm bắt.
Vấn đề là tôi chỉ muốn hiện diện được áp dụng khi tạo, mọi thứ khác cần phải được tạo và cập nhật. Bởi vì người dùng có thể không thay đổi mật khẩu khi cập nhật thông tin của họ.
tôi đã cố gắng tách các quy tắc
validates :password, :presence => true, :on => :create
validates :password, # The rest of the rules
Điều này dẫn đến tất cả các quy tắc được bỏ qua để cập nhật. Có cách nào đơn giản để áp dụng chỉ một quy tắc để tạo và phần còn lại cho mọi thứ?
Điểm tốt. Tôi có thể phải nhìn sâu hơn một chút. Một số yêu cầu của mật khẩu đã nhập có thể thất bại nếu nó trống. –