我正在开发一个应用程序,该应用程序允许用户使用给定的搜索条件(例如标题、关键字、作者)在亚马逊上搜索特定书籍。我目前正在尝试将这些搜索结果存储到 MySQL 数据库中,但我正在苦苦挣扎与关系的概念。
我会像这样构建模型似乎很自然:
class Search < ActiveRecord::Base
has_many :books
end
class Book < ActiveRecord::Base
belongs_to :search
end
但是,如果用户进行第二次搜索,我需要一种方法来使用新书更新搜索结果。我的第一个倾向是执行以下操作:
Search.update(1,:books)
更新方法是这样工作的吗?我在正确的轨道上吗?
此外,我不确定更新数据库中的搜索结果是否是正确的选择。如果两个用户同时搜索,会不会有潜在的负面影响?我将这些搜索结果存储到数据库的唯一原因是我需要显示他们稍后在用户会话中选择的书的信息。我想如果我只更新搜索结果并且有多个用户使用该工具,这将推翻使用数据库的整个目的,因为第二个用户的搜索结果会覆盖第一个用户的搜索结果。这是真的?
我是否可以将信息存储在用户的 cookie 中?