临时存储通知视图的活动记录实例

时间:2016-10-13 09:41:23

标签: ruby-on-rails activerecord public-activity

我在通知面板上有一个记录列表,我使用gem 公共活动用这些通知填充面板,当用户点击一个实例时我将用户重定向到自定义URL将提供有关该通知的详细信息,在此重定向上,我将活动表中该通知的读取列更改为true

   def email_confirmed
     # loads one specific activity/notification using the id from the    url params
     @notification = load_activities.find(params[:id])
     # get the establishment,that is the trackable object,using activity id
     # get the establishment using the 'trackable_id' field in the    activities
     # table
     # Update the read column in the database on visit on the notification  details
     # view
     @notification.update_columns(read: true)
     @establishment_id = @notification.trackable_id
     # use this instance of an establishment in the 'view all' action view
    @establishment_details = Establishment.where(id:@establishment_id)
   end

我运行的AJAX脚本删除了读取通知

    setInterval(function(){
    $.ajax({
    url:'/notifications/remove_read_notifications',
    type: "GET",
    success: function(data){
         console.log("in side delete");
    }
   });

  },3000);

现在,在我阅读通知表时,我希望如果用户刷新此页面,它不能给出一个错误,说明数据库中不存在带有“id”的实例,因为有办法规避这将允许我暂时存储该通知,帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

AJAX的全部意义在于它是异步的,但您尝试完成的行为与该目标不一致。不使用AJAX删除通知,而是使用通知的读取状态来指示表示逻辑。如果用户没有看到,则通知是否被删除无关紧要。