簡體   English   中英

數據庫驅動的應用程序中的Has_Many,Belongs_To關系

[英]Has_Many, Belongs_To Relationship in a Database Driven Application

我正在開發一個應用程序,該應用程序允許用戶使用給定的搜索條件(例如標題,關鍵字,作者)在Amazon上搜索特定的書。我目前正在嘗試將這些搜索結果存儲到MySQL數據庫中,但仍在努力關系的概念。

我自然會像這樣構建模型:

class Search < ActiveRecord::Base
  has_many :books
end

class Book < ActiveRecord::Base
  belongs_to :search
end

但是,如果用戶進行第二次搜索,則需要一種方法來用新書更新搜索結果。 我的第一個傾向是執行以下操作:

Search.update(1,:books)

更新方法是否可以這樣工作? 我在正確的軌道上嗎?

另外,對於更新數據庫中的搜索結果是否是正確的選擇,我不確定。 如果兩個用戶同時搜索,可能會產生負面影響嗎? 將這些搜索結果存儲到數據庫中的唯一原因是,我需要顯示他們稍后在用戶會話中選擇的書籍的信息。 我可以想象,如果我僅更新搜索結果,並且有多個用戶使用該工具,這將顛覆使用數據庫的整個目的,因為第二個用戶的搜索結果將覆蓋第一個用戶的搜索結果。 這是真的?

我可以將信息存儲在用戶的Cookie中嗎?

在考慮如何做之前,您需要確定您的內容 您的系統所需的行為是什么?

您是否要讓所有用戶共享一個全局搜索對象?

是否要為每個用戶存儲一個搜索對象

您是否希望每個用戶都記錄幾次搜索?

然后,相應地調整搜索對象,如果您的要求不是單個全局搜索對象,則它需要具有User或“ user id”屬性的房地產。

您是要跟蹤用戶進行的所有搜索,還是僅跟蹤最后一次? 如果是前者,則需要在數據庫中保持跟蹤;如果是后者,則可以將信息存儲在用戶的cookie中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM