Skip to content
A simple plugin that allows a user to mark anything as 'read.' Common usage would include forum posts, news items, etc.
Find file
New pull request
Latest commit 37cd255 @rayvinly rayvinly Cannot create Reading instance in read_by!
- ActiveRecord association wreak havoc with restful_authentication due to somre weird reloading of user.rb.
- Changed to user to to avoid dealing with association.



ActsAsReadable allows you to create a generic relationship of items which can
be marked as 'read' by users. This is useful for forums or any other kind of
situation where you might need to know whether or not a user has seen a particular


To install the plugin just install from the SVN:

script/plugin install

You will need the readings table to use this plugin. A generator has been included,
simply type

script/generate acts_as_readable_migration

to get the standard migration created for you.


class Post < ActiveRecord::Base

bob = User.find_by_name("bob")

bob.readings                      # => []

Post.find_unread_by(bob)          # => [<Post 1>,<Post 2>,<Post 3>...]
Post.find_read_by(bob)            # => []

Post.find(1).read_by?(bob)        # => false
Post.find(1).read_by!(bob)        # => <Reading 1>
Post.find(1).read_by?(bob)        # => true
Post.find(1).users_who_read       # => [<User bob>]

Post.find_unread_by(bob)          # => [<Post 2>,<Post 3>...]
Post.find_read_by(bob)            # => [<Post 1>]

bob.readings                      # => [<Reading 1>]

Copyright (c) 2008 Michael Bleigh and Intridea, Inc. released under the MIT license
Something went wrong with that request. Please try again.