假设您有2个型号......
Store :has_many products
Product :belongs_to store
..而Product
模型的属性为:price
。
我希望有一个视图,向用户显示产品价格下降的最新价格。我不知道从哪里开始。如果我想让用户选择要观看哪些产品呢?你会如何设置它?
答案 0 :(得分:3)
您可以从价格模型的ActiveRecord Observers开始,每次价格变动时触发通知。
然后,您可以在订阅者列表中扇出这些通知。 pub / sub框架有很多解决方案。一个是Rails的本机内置通知API,在JoséValim的书Crafting Rails Applications中有详细解释。另一个是Faye gem,请查看their site。
其他选项包括EventMachine,Node.js或Websockets。
答案 1 :(得分:2)
我要做的是添加一个字段“趋势”或类似的东西,我会在每次价格变化时更新(使用回调或观察者),并将其设置为“增加/减少”,或者某事那有意义。然后,我会查找趋势减少且最近更新(根据updated_at)的所有产品,最近是您定义的值,它可以是“在过去两周内”,“自用户上次登录后”等等。
答案 2 :(得分:1)
我会在调查时使用ajax。
在服务器端,我会有一份后台工作(从后台,救援,cron等中选择)。 每个轮询间隔我都会看到事情是否发生了变化,如果有,则显示内容。
我会跟踪使用时间戳的变化并与Now()进行比较。