簡體   English   中英

Ruby on Rails中的設計問題

[英]Design question in Ruby on Rails

好的,情況很簡單(?)。 我說過ArticlesReviewsComments ,用戶可以更新三種不同的模型。 我想知道如果我希望更新的記錄(來自用戶)僅對管理員可用(而不在公共視圖中可用),但同時保留舊記錄,直到管理員使用,那么最佳的設計方案是什么?評論他們。

首先想到的是最好是具有自我引用的聯接,在用戶的更新操作上創建新記錄並引用舊記錄,以便管理員在完成對舊記錄的審閱時刪除舊記錄,並審閱一個舊記錄。得到出版。 我認真地認為,如果有來自用戶的許多更新,那么保存數據的表將在很短的時間內增長很大。 您還有其他建議嗎?

非常感謝您的幫助:)

PS我正在使用Ruby on Rails框架,如果有什么不同的話。

這有點讓我想起了Wordpress草案系統,並且很真誠,我認為這可能是實現它的幾種方法之一。 也就是說,有一列具有post_type的列,例如[draft,published ..]。 或者,您可以單獨擁有草稿模型和與Article模型同質的已發布模型。 我認為您對表太大的擔憂是正確的。 因此,我認為您最好選擇刪除舊草稿或將它們存檔在另一個表中的策略,以使它們僅占用空間,而不會浪費您的搜索時間(也請記住使用索引以提高性能)。

也許作為狀態機也可以提供幫助( http://www.practicalecommerce.com/blogs/post/122-Rails-Acts-As-State-Machine-Plugin

要記住的一件事是,除非您試圖創建詳細的修訂歷史記錄,否則給定文章,視圖或注釋的確只有兩個版本,您需要保留:該項目的當前批准的公共版本,以及該項目的當前編輯版本。 因此,您可能只需要編寫兩個副本即可,然后將草稿版本復制到已發布的草稿中,並在批准草稿后將其刪除;如果用戶在批准之前進行了其他更改,則可以對其進行更新。

暫無
暫無

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

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