从外部源获取模型的最佳实践是什么?

时间:2014-01-30 08:56:03

标签: ruby-on-rails ruby activerecord

所以我有像这样的ActiveRecord模型

class User < ActiveRecord::Base
  has_many :posts
end

我有一个Api类从web获取User的属性并返回一个哈希值,而哈希值又需要一些预处理才能适应用户模型。例如。来自api的响应{response: {id:20, stars:{count:20}}}需要处理为user.id=20user.stars_count=20

现在我有两种方法可以很容易地看到做这件事。一种方法是向Api添加一个方法,如get_user,它会使所有处理返回一个带有填充属性的新User模型。另一种是向用户添加fetch方法,进行所有处理。

在第一种情况下,我不喜欢我的Api课程会填充很多get_model方法,例如get_userget_postget_all_posts_for_user等等。很快就会变得无法容忍。在第二种情况下,模型充满了许多预处理方法,如fetchfetch_all_posts,看起来也很讨厌。

那么处理这个问题的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

看看Active Resource,你不必手动做你正在做的事情。