How do I mark content as "seen" or "read" when it's in the user's view?
Hi everyone,
I'm trying to mark messages as "seen" when the div has entered the user's view (for example, the Facebook behavior of seen posts). My current attempt is a mix of the Unread gem (https://github.com/ledermann/unread) and the isOnScreen Jquery plugin (https://github.com/moagrius/isOnScreen).
But my two biggest problems are,
1) how do I get the Javascript to account for all ActiveRecord entries on a page? For instance, I can provide <div id="post-<%= post.id %>">
, but how would I test for every possible div?
2) Once the Javascript confirms that a div is in view, how do I get it to send that information to Rails (to create a record in the user_read_posts table)?
Am I approaching this the wrong way altogether?
See my answer to the same here: https://gorails.com/forum/how-to-mark-a-post-as-read-so-that-it-won-t-show-up-again-for-a-user#forum_post_14150
You can do two types of user interactions:
- The one described in the above link is a button 'Mark as Read' similar to what we have here on Gorails 'Mark as Completed'.
- The other one may be an automatic one where the page is marked as read automatically as soon as the user loads the page. In this case the difference will be in the controller. As soon as the user hits the show method, you create a journal entry that records the view.
Hope this makes sense after reading the link above.