Допустим, у меня есть Item
s на продажу, и я отслеживаю их Cost
исторически:
class Cost < ActiveRecord::Base
belongs_to :item
# eg: costs.amount = 123.45; costs.item_id = 1; costs.created_at = 2011-08-11 16:28
end
class Item < ActiveRecord::Base
has_many :costs
# eg: items.id = 1; items.name = Cheese Sandwich
end
Этот код работает, я могу вынуть все предыдущие расходы напредмет, который я продаю.
Я чувствую, что для Item
должно быть возможно иметь второе предложение, чтобы я мог вытащить текущую цену напрямую:
class Item < ActiveRecord::Base
has_many :costs
has_one :current_cost, :class_name => :costs, :conditions => 'MAX(created_at)'
end
my_item.current_cost # => <£123.45, 45 minutes ago>
Любойидеи как этого добиться?