【发布时间】:2013-01-28 17:03:04
【问题描述】:
我正在尝试使用模型作为模板来创建新模型。但是,我只想使用模板模型中的attr_accessible 属性。
这就是我现在正在做的事情。它有效,但似乎太复杂了。
def copy_attrs_and_errors(other)
self.class.attr_accessible[:default].to_a.each do |attr|
eval("self.#{attr} = other.#{attr}") unless attr.blank?
end
end
我想说一些简单的话:
self.attributes = other.whitelist_attributes(:default)
谢谢。
【问题讨论】:
-
请注意:
.accessible_attributes是.attr_accessible[:default]的同义词,我觉得它更具可读性。 -
好点。这似乎将角色作为参数并默认使用
:default。谢谢。
标签: ruby-on-rails-3 activerecord mass-assignment