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