Tôi đã cố gắng thu hút sự chú ý của mình về các liên kết ActiveRecord
nhưng tôi đã đánh một chút tường gạch và không có vấn đề bao nhiêu tôi xem xét tài liệu ActiveRecord
. làm thế nào để giải quyết vấn đề của tôi.Tạo hoặc cập nhật liên kết ActiveRecord has_one
Tôi có hai lớp:
Property -> has_one :contract
Contract -> belongs_to :property
Trong lớp hợp đồng của tôi, tôi có một phương pháp để create_or_update_from_xml
Trước tiên tôi kiểm tra để đảm bảo tài sản trong câu hỏi tồn tại.
property_unique_id = xml_node.css('property_id').text
property = Property.find_by_unique_id(property_unique_id)
next unless property
Và đây là nơi tôi gặp khó khăn, tôi có một hash của thuộc tính cho các hợp đồng, và những gì tôi muốn làm là một cái gì đó như:
if property.contract.nil?
# create a new one and populate it with attributes
else
# use the existing one and update it with attributes
tôi biết làm thế nào tôi sẽ đi về nó nếu nó là SQL thô, nhưng tôi không thể có được đầu của tôi xung quanh cách tiếp cận ActiveRecord hte.
Bất kỳ gợi ý nào qua khối đường này sẽ được đánh giá cao.
Xin cảm ơn trước.
Nhờ đó, các công trình hoàn hảo. –
có thể sử dụng trống không? – Dan