簡體   English   中英

如何觀察模型的變化?

[英]How to watch a model for changes?

讓我們說你有2個型號......

Store :has_many products 
Product :belongs_to store

..和Product模型具有屬性:price

我希望有一個視圖,向用戶顯示產品價格下降的最新價格。 我不知道從哪里開始。 如果我想讓用戶選擇要觀看哪些產品呢? 你會怎么設置它?

您可以從價格模型上的ActiveRecord Observers開始,每次價格變化時觸發通知。

然后,您可以在訂閱者列表中扇出這些通知。 pub / sub框架有很多解決方案。 一個是Rails的本機內置通知API,在JoséValim的書Crafting Rails Applications中有詳細解釋。 另一個是Faye寶石 ,看看他們的網站

其他選項包括EventMachine,Node.js或Websockets。

我要做的是添加一個字段“趨勢”或類似的東西,我會在每次價格變化時更新(使用回調或觀察者),並將其設置為“增加/減少”,或者具有該值的東西含義。 然后,我會查找趨勢減少且最近更新(根據updated_at)的所有產品,最近是您定義的值,它可以是“在過去兩周內”,“自用戶上次登錄后”等等

我會使用ajax進行輪詢。

在服務器端,我將有一個后台工作(從backgroundrb,rescue,cron等中選擇)。 每個輪詢間隔我都會看到事情是否發生了變化,如果有,則顯示內容。

我會跟蹤時間戳的變化並與Now()進行比較。

暫無
暫無

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

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