kak*_*bei 5 activerecord padrino ruby-on-rails-3.2
使用Mysql,我可以使用COALESCE
只更新表中的emtpy值.
如何使用Rails(ActiveRecord)执行此操作?
我不想为if
表中的每一列创建语句,并且我猜想如果我将ActiveRecord哈希传递给update_attributes
方法,必须有一种方法.
谢谢.
Isa*_*esh -2
你问的不是很清楚,但如果我理解正确的话,你想要这样的东西:
class Address < ActiveRecord::Base
attr_accessible :street, :city, :zip
def update_null_attributes(hash)
update_attributes(hash.keep_if { |k,v| __send__("#{v}_was").nil? })
end
end
Run Code Online (Sandbox Code Playgroud)
这将获取您想要更新的属性的哈希值,并仅传递最初为零的属性。它用于ActiveModel::Dirty
“#{v}_was”方法。
归档时间: |
|
查看次数: |
839 次 |
最近记录: |