【问题标题】:Generating Models based of other models ruby on rails基于其他模型生成模型 ruby​​ on rails
【发布时间】:2013-04-23 00:56:42
【问题描述】:

所以我有一个具有以下字段的项目模型:

  • 名称(字符串)
  • 说明(文字)
  • 隐藏(字符串)
  • 搜索者(字符串)
  • 长(浮动)
  • 纬度(浮点数)
  • 关键字(字符串)
  • 找到(布尔值)

高分应该有以下字段:

-用户名(姓名) - 点数(整数)

我想创建一个高分模型,它将迭代项目模型并找到布尔值为真的实体。然后用一个点将搜索者添加到高分表中。如果用户已经存在,那么只需在他的条目中添加一个额外的点。

我将如何设计这种类型的数据库...

【问题讨论】:

  • “如果用户已经存在,那么只需在他的条目中添加一个额外的点。”是什么意思。当它决定再次迭代?他的条目有什么意义?
  • 如果用户已经被添加到高分表中。每次找到的选项从 false 更改为 true 时,它​​都应该进行迭代。 (因为创建新条目时它总是错误的)一个点意味着一个分数。我会编辑帖子。

标签: sql ruby-on-rails database


【解决方案1】:

我永远不会在这里建议 迭代 方法。这就是我们说的数据库,对数据进行线性迭代是不现实的。

您可以使用Observer。在这里阅读它们 - http://api.rubyonrails.org/classes/ActiveRecord/Observer.html

有了这个,您可以检查saveupdate 回调,根据您的布尔值,您可以创建/更新 HighScore 记录。

【讨论】:

  • 哦,太酷了!让我写一下逻辑。您创建一个观察项目模型的观察者服务器。当模型中的某些内容更新时,您可以检查找到的选项是否为真,如果为真,则在高分模型中创建一个新条目
  • 没错。做这份工作真是太好了。
猜你喜欢
  • 2013-04-18
  • 1970-01-01
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 2020-04-23
  • 2015-07-15
  • 1970-01-01
相关资源
最近更新 更多