更聪明的方法是什么:
@entity.description = @resource.description
@entity.aliases = @resource.aliases
@entity.image = @resource.thumbnail
@entity.freebase = @resource.url
@entity.same_as = @resource.webpages
感谢。
答案 0 :(得分:3)
如果你有两个以上在两个类之间共享的字段,你可以考虑将它们打包成一个类,然后简单地分配(或克隆)它。然后你的代码看起来像:
@entity.info = @resource.info
当然,这要求您完全控制这些类。
答案 1 :(得分:2)
你可以这样写:
{:description => :description=, :aliases => :aliases=, :image => :thumbnail=,
:freebase => :url=, :same_as => :webpages=}.each do |from, to|
@entity.send(to, @resource.send(from))
end
但我怀疑这会增加你的代码的可读性。您可能最好离开它,因为您现在拥有代码,因为编写它的时间很短,因为我会对代码进行模糊处理并使其更难阅读。