0

我想要实现的是在我的 Order 模型中只更新可访问的属性,传递一个 current_user 对象,如下所示:

  order.update_attributes(current_user.attributes.ONLY(:name, :surname, :email))

那么是否可以在不明确设置要更新的列的情况下实现这一点?

4

2 回答 2

2

使用Rails 中的Hash#slice

current_user.attributes.slice(:name, :surname, :email)

于 2013-07-16T13:25:12.017 回答
0

您可以使用Hash#select,如下例所示:

current_user.attributes.select{|key, _| [:name, surname, email].include?(key)}
于 2013-07-16T13:18:40.480 回答