1
的Rails 4.1.7訪問數據的has_many:通過,防止額外的數據加載
我有3種型號。
# Report
class Report < ActiveRecord::Base
has_many :computed_values, dependent: :destroy
has_many :settlements, through: :computed_values
end
# ComputedValue
class ComputedValue < ActiveRecord::Base
belongs_to :report
belongs_to :settlement
end
# Settlement
class Settlement < ActiveRecord::Base
has_many :computed_values
has_many :reports, through: :computed_values
end
ComputedValue
有一個屬性distance
。
我想這樣的建築工程:Report.first.settlements.first.distance
這是ComputedValue.find(report_id: Report.first.id, settlement_id: Report.first.settlements.first.id).distance
有沒有得到那個工作的任何優雅的和快速的方法是什麼?
當我打電話給Report.first.settlements.first
時,Rails已經從加入表computed_values
加載了第一次報告,第一次結算和記錄的記錄。 如何防止第二次加載從computed_values
查找值和使用已經加載的記錄中的數據?