私のアプリケーションでは、イベント システムをセットアップして、ユーザーに発生したすべてのログを表示しました。汚い物を使っています。
これが私がこれまでにしたことです
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 }
しかし、それは私に何も得ません。あなたが私に与えることができる助けをありがとう!