Mysql 在数据库驱动的应用程序中,具有多个、属于多个关系

Mysql 在数据库驱动的应用程序中,具有多个、属于多个关系,mysql,ruby-on-rails,cookies,has-many,belongs-to,Mysql,Ruby On Rails,Cookies,Has Many,Belongs To,我正在开发一个应用程序,该应用程序允许用户使用给定的搜索条件(例如标题、关键字、作者)在Amazon上搜索特定的书籍。我目前正试图将这些搜索结果存储到MySQL数据库中,但在关系的概念上遇到了困难 很自然,我会这样构造模型: class Search < ActiveRecord::Base has_many :books end class Book < ActiveRecord::Base belongs_to :search end 更新方法是这样工作的吗?我走对了

我正在开发一个应用程序,该应用程序允许用户使用给定的搜索条件(例如标题、关键字、作者)在Amazon上搜索特定的书籍。我目前正试图将这些搜索结果存储到MySQL数据库中,但在关系的概念上遇到了困难

很自然,我会这样构造模型:

class Search < ActiveRecord::Base
  has_many :books
end

class Book < ActiveRecord::Base
  belongs_to :search
end
更新方法是这样工作的吗?我走对了吗

此外,我不确定更新数据库中的搜索结果是否是正确的选择。如果两个用户同时搜索,会不会有潜在的负面影响?我将这些搜索结果存储到数据库中的唯一理由是,我需要在用户会话中显示他们稍后选择的书籍的信息。我可以想象,如果我只更新了搜索结果,并且有多个用户使用该工具,这将颠覆使用数据库的整个目的,因为第二个用户的搜索结果将覆盖第一个用户的搜索结果。这是真的吗

我是否可以将信息存储在用户的cookie中?

在考虑如何存储之前,您需要确定您的内容。您的系统所需的行为是什么

是否希望所有用户共享一个全局搜索对象

是否要为每个用户存储一个搜索对象

是否希望每个用户都有多个搜索的记录


然后相应地调整搜索对象,如果您的需求不是单个全局搜索对象,则它需要与用户或“用户id”属性建立关系。

您是在跟踪用户运行的所有搜索,还是仅跟踪最后一个搜索?如果是前者,您需要在数据库中跟踪,如果是后者,您可以将信息存储在用户的cookie中。

如果您在澳大利亚,www.booko.com.au会这样做(无影响)。我用它在书上节省了数百美元。
Search.update(1,:books)