Tôi có một mô hình phụ huynh, đang được cập nhật thông qua params như '@ client.update_attributes (params [: client]' .Trong params của tôi là một cuộc gọi để tiêu diệt một 'client_card Phương thức before_destroy của tôi đang hoạt động, tuy nhiên, các lỗi trên before_destroy không lan truyền đến mô hình liên quan khi được cập nhật. cho mô hình được liên kết khi được cập nhật?trước khi hủy bỏ trên cập nhật mô hình liên kết, lỗi không propogating
class Client < ActiveRecord::Base
has_many :client_cards, :dependent => :destroy
validates_associated :client_cards
class ClientCard < ActiveRecord::Base
belongs_to :client, :foreign_key => 'client_id'
attr_accessible :id, :client_id, :card_hash, :last_four, :exp_date
before_destroy :check_relationships
def check_finished_appointments
appointments = Appointment.select { |a| a.client_card == self && !a.has_started }
if(appointments && appointments.length > 0)
errors.add(:base, "This card is tied to an appointment that hasn't occurred yet.")
return false
else
return true
end
end
end
không .. Tôi đã bước qua với trình gỡ rối. đây không phải là xóa của client_card, nó nằm trong phương thức cập nhật của trình điều khiển (mô hình) của mô hình cha. client.update_params được gọi và client không có lỗi (mặc dù các params nói để tiêu diệt một đối tượng liên quan ví dụ client_card) – f0ster