在我的应用程序中,我设置了一个事件系统来显示用户发生的所有事情的日志。它使用脏对象。
这是我到目前为止所做的
def log_details_change(owner)
Event.log(owner.condo, :updated_owner_details, [owner.changes.slice('first_name', 'last_name', 'email', 'start_date', 'phone_number')])
end
现在我知道该owner.changes
方法提供了一个看起来像这样的哈希
{ 'title' => ["Title", "New Title"] }
例如,如果我删除用户的电话号码,则返回的哈希owner.changes
变为
{ 'phone_number' => ["514554541", ""] }
基本上,更改后的值是空的(或空白,或 nil - 我真的不知道)。
如何访问这些值以检查更改的值是否为空?我想显示一个字符串而不是 '' 字符串。
我尝试了很多不同的东西,包括下面的那个
owner.changes.slice('first_name', 'last_name', 'email', 'start_date', 'phone_number').each_value { |v,k| v.blank? or v.nil? or v.empty? ? 'nope' : v }
但它什么也得不到。感谢您能给我的任何帮助!