【问题标题】:What is the best practice for model fetching from external source从外部源获取模型的最佳实践是什么
【发布时间】:2014-01-30 08:56:02
【问题描述】:

所以我有这样的 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

现在有 2 种方法我可以很容易地看到做影响的事情。一种方法是向 Api 添加一个方法,例如 get_user,所有处理都会返回一个新的 User 模型,并填充属性。另一种是将fetch方法添加到执行所有处理的User。

在第一种情况下,我不喜欢我的 Api 类会充满很多 get_model 方法,例如 get_userget_postget_all_posts_for_user 等,并且很快就会变得难以管理。在第二种情况下,模型充满了很多预处理方法,如fetchfetch_all_posts,看起来也很糟糕。

那么处理这个问题的最佳实践是什么?

【问题讨论】:

  • 如果您的控制器中有{response: {id:20, stars:{count:20}}} 数据,您可以轻松地以params 的形式获取这些数据(例如params[:response][:id]

标签: ruby-on-rails ruby activerecord


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 2020-05-01
    相关资源
    最近更新 更多