我正在观察投标模型,当创建新的出价时,我希望能够更新随附型号的当前要价。我的设置如下:
class BidObserver < ActiveRecord::Observer
def after_create(bid)
load = Load.find(bid.load_id)
arr = load.bids.collect { |bid| bid.bid_price }
if arr.min < load.current_asking_price
load.current_asking_price = arr.min
puts "#{load.current_asking_price}"
load.save
end
end
end
//In config/application.rb
config.active_record.observers = :bid_observer
观察者工作正常,我可以在我的日志中看到当前要价正在设定,因为它输出了值。但是,该值未保存到数据库中,并且我编写的测试失败。在尝试保存价值时,我有什么遗漏的东西吗? (我也尝试调用update_attributes,相关属性已更改,但也无效)如果您需要更多信息,我会快速更新我的帖子。
current_asking_price属性在创建时设置如下:
// In the load model:
before_create :set_current_asking_price
def set_current_asking_price
default = self.budget
self.current_asking_price = default
end
这是目前为止current_asking_price
的唯一参考