我想要实现的是在我的 Order 模型中只更新可访问的属性,传递一个 current_user 对象,如下所示:
order.update_attributes(current_user.attributes.ONLY(:name, :surname, :email))
那么是否可以在不明确设置要更新的列的情况下实现这一点?
我想要实现的是在我的 Order 模型中只更新可访问的属性,传递一个 current_user 对象,如下所示:
order.update_attributes(current_user.attributes.ONLY(:name, :surname, :email))
那么是否可以在不明确设置要更新的列的情况下实现这一点?
使用Rails 中的Hash#slice:
current_user.attributes.slice(:name, :surname, :email)
您可以使用Hash#select
,如下例所示:
current_user.attributes.select{|key, _| [:name, surname, email].include?(key)}