Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 基于ruby on rails上的其他模型生成模型_Sql_Ruby On Rails_Database - Fatal编程技术网

Sql 基于ruby on rails上的其他模型生成模型

Sql 基于ruby on rails上的其他模型生成模型,sql,ruby-on-rails,database,Sql,Ruby On Rails,Database,因此,我有一个具有以下字段的项目模型: 名称(字符串) 说明(文本) 隐藏器(字符串) 导引头(弦) 长(浮动) Lat(浮动) 关键字(字符串) 已找到(布尔值) Highscore应具有以下字段: -用户名(名称) -点数(整数) 我想创建一个highscores模型,它将迭代项模型,并找到布尔值为true的Entier。然后将导引头添加到highscore表中并加上一个点。如果用户已经存在,只需在其条目中添加一个额外的点即可 我将如何着手设计这种类型的数据库…我永远不会在这里建议迭代方

因此,我有一个具有以下字段的项目模型:

  • 名称(字符串)
  • 说明(文本)
  • 隐藏器(字符串)
  • 导引头(弦)
  • 长(浮动)
  • Lat(浮动)
  • 关键字(字符串)
  • 已找到(布尔值)
Highscore应具有以下字段:

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

我想创建一个highscores模型,它将迭代项模型,并找到布尔值为true的Entier。然后将导引头添加到highscore表中并加上一个点。如果用户已经存在,只需在其条目中添加一个额外的点即可


我将如何着手设计这种类型的数据库…

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

您可以使用
Observer
。在这里阅读有关它们的信息-


这样,您可以在
保存
更新
回调中进行检查,并根据您的布尔值,创建/更新HighScore记录

你所说的“如果用户已经存在,只需在其条目中添加一个额外的点”是什么意思。当它决定再次迭代时?如果用户已经被添加到highscore表中,那么他的条目中的点是什么。每次将find选项从false更改为true时,它都应该迭代。(当创建新条目时,它总是为假)分数意味着分数。我来编辑这篇文章。哦,太酷了!让我来写逻辑。您可以创建一个观察项目模型的服务器。当模型中的某些内容更新时,您可以检查发现的观点是否正确(如果正确),并在highscores模型中创建一个新条目。这是做这项工作的美妙之处。