忽略哈希中的两个参数

mr_*_*cle 1 ruby hash ruby-on-rails

在我的日志方法中,我想实现某种机制,该机制将忽略两个参数created_at,而忽略updated_at(从另一个位置将是例如密码)new_data: formform是管理员参数的哈希值- AdminUser.new(form)(例如电子邮件,名称,密码等)

方法如下:

def log_admin_data
  admin_user = AdminUser.last
  AdminPanelLog.update(
    admin_email: admin_user.email,
    admin_role: admin_user.role,
    type: 'Create new Admin User',
    new_data: form, #some kind of method like ignore_attribute(created_at, updated_at)
  )
end
Run Code Online (Sandbox Code Playgroud)

mrz*_*asa 5

您可以使用 Hash#except

form.except('created_at', 'updated_at')
Run Code Online (Sandbox Code Playgroud)