# \[ANN\] Social networking with Rails using ActsAsNetwork

**URL:** <https://www.ruby-forum.com/t/ann-social-networking-with-rails-using-actsasnetwork/115195>\
**Category:** Rails\
**Created:** [September 21, 2007, 4:38pm UTC](https://www.ruby-forum.com/t/ann-social-networking-with-rails-using-actsasnetwork/115195 "2007-09-21T16:38:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stephen\_Lombardo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/a9a28c/32.png) [@Stephen\_Lombardo](https://www.ruby-forum.com/u/Stephen_Lombardo)\
**Post date:** [September 21, 2007, 4:38pm UTC](https://www.ruby-forum.com/t/ann-social-networking-with-rails-using-actsasnetwork/115195/1 "2007-09-21T16:38:06Z")

</div>

ActsAsNetwork is a plugin that we’ve recently extracted from PingMe (  
[http://gopingme.com](http://gopingme.com) ) to simplify the definition and storage of network  
relationships between entities using ActiveRecord. It drives the social  
networking features of the site.

ActsAsNetwork it special because it uses a single record in an  
intermediate  
has\_and\_belongs\_to\_many table or has\_many :through join model. With one  
instance of an association or join model there is no need for reverse  
relationship records, association callbacks, or other complexities.

Check it out.

More details (via blog): [Blog - Zetetic](http://tinyurl.com/ypyg8b)  
Documentation: [http://actsasnetwork.rubyforge.org](http://actsasnetwork.rubyforge.org)

Cheers,  
Stephen @ Zetetic

==  
VOTE TagTime - [http://vote.railsrumble.com/teams/26/visit](http://vote.railsrumble.com/teams/26/visit)  
What _should_ you be doing? - [http://www.gopingme.com](http://www.gopingme.com)
