Tôi đã có một mô hình với các xác thực của nó và tôi phát hiện ra rằng tôi không thể cập nhật một thuộc tính mà không xác thực đối tượng trước đó.Cách cập nhật các thuộc tính mà không cần xác nhận
Tôi đã cố gắng thêm cú pháp on => :create
vào cuối mỗi dòng xác thực, nhưng tôi có cùng kết quả.
mô hình thông báo của tôi có kiểm chứng thực sau đây:
validates_presence_of :title
validates_presence_of :description
validates_presence_of :announcement_type_id
validate :validates_publication_date
validate :validates_start_date
validate :validates_start_end_dates
validate :validates_category
validate :validates_province
validates_length_of :title, :in => 6..255, :on => :save
validates_length_of :subtitle, :in => 0..255, :on => :save
validates_length_of :subtitle, :in => 0..255, :on => :save
validates_length_of :place, :in => 0..50, :on => :save
validates_numericality_of :vacants, :greater_than_or_equal_to => 0, :only_integer => true
validates_numericality_of :price, :greater_than_or_equal_to => 0, :only_integer => true
nhiệm vụ cào My nào sau đây:
task :announcements_expiration => :environment do
announcements = Announcement.expired
announcements.each do |a|
#Gets the user that owns the announcement
user = User.find(a.user_id)
puts a.title + '...'
a.state = 'deactivated'
if a.update_attributes(:state => a.state)
puts 'state changed to deactivated'
else
a.errors.each do |e|
puts e
end
end
end
này ném tất cả các trường hợp ngoại lệ xác nhận cho mô hình đó, ở đầu ra.
Có ai cập nhật thuộc tính mà không xác thực mô hình không?
này làm việc! Cảm ơn bạn. Tôi sẽ đánh dấu câu trả lời này ngay sau khi tôi có thể làm được. –
Bạn có thể sử dụng lưu (false) mà không cần xác nhận – Dzmitry
Hmm, nhưng có cách nào phân tích cú pháp các tham số [: instance] như update_attributes không? – Dogweather