Ruby on rails ROR ActiveRecord属性在更新前使用回调进行处理
此代码生成一个ActiveRecordError: 回调必须是表示 要调用的方法,要调用的字符串 已计算、要调用的块,或 响应回调的对象 方法。”Ruby on rails ROR ActiveRecord属性在更新前使用回调进行处理,ruby-on-rails,activerecord,beforeupdate,Ruby On Rails,Activerecord,Beforeupdate,此代码生成一个ActiveRecordError: 回调必须是表示 要调用的方法,要调用的字符串 已计算、要调用的块,或 响应回调的对象 方法。” 在更新之前:检查instock,:除非=>Proc.new{{| inventory{124; inventory.needed.nil} def检查仪表盘 如果需要:不需要库存? before_update :set_instock, :unless => :inventory_not_needed? private def set_in
在更新之前:检查instock,:除非=>Proc.new{{| inventory{124; inventory.needed.nil}
def检查仪表盘
如果需要<数量
instock=true
其他的
instock=false
结束
结束
这段代码放在我的库存模型中,我试图在调用@inventory.update_attributes(controller)之前处理一些逻辑。以前我多次调用@inventory.update_attributes,结果生成了这样的代码,尽管并不简洁
干杯!在更新之前:设置库存:除非=>:不需要库存?
before_update :set_instock, :unless => :inventory_not_needed?
private
def set_instock
self.instock = (needed < amount) ? true : false
end
def inventory_not_needed?
needed.nil?
end
私有的
def set_instock
self.instock=(需要<金额)?真:假
结束
是否不需要def库存?
需要。零?
结束
更新前:设置库存:除非=>:不需要库存?
私有的
def set_instock
self.instock=(需要<金额)?真:假
结束
是否不需要def库存?
需要。零?
结束
before_update :set_instock, :unless => :inventory_not_needed?
private
def set_instock
self.instock = (needed < amount) ? true : false
end
def inventory_not_needed?
needed.nil?
end