2012-03-20 99 views
3

比方說你有2種型號...如何查看更改模型?

Store :has_many products 
Product :belongs_to store 

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

我想要一個視圖,向用戶顯示更新的產品價格,如果他們的成本下降。我不確定從哪裏開始。如果我想讓用戶選擇要觀看哪些產品,那又怎樣?你會如何設置?

+1

它是一個實時視圖(javascript/ajax)還是你在談論更長的一段時間? – 2012-03-20 21:48:03

回答

3

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

然後,您可以在訂閱者列表中扇出這些通知。有很多針對pub/sub框架的解決方案。一個是Rails的本地內置Notification API,在JoséValim的書Crafting Rails Applications中有詳細解釋。另一個是Faye gem,看看their site

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

2

我會做的是添加一個字段「趨勢」或類似的東西,我會更新每次價格變化(與回調或觀察員),並將其設置爲「增加/減少」,或有意義的東西。然後,我會尋找所有趨勢正在下降並且最近更新(根據updated_at)的產品,最近是您定義的值,它可以是「過去兩週內」,「自用戶上次登錄後」等等等

1

我會使用ajax與輪詢。

在服務器端,我會有一個後臺作業(從backgroundrb,rescue,cron等中選擇)。 每個輪詢間隔,我會看看事情是否已經改變,如果是這樣顯示的內容。

我會跟蹤什麼改變usng時間戳和比較Now()。