Acts As Commentable
Allows for comments to be added to multiple and different models.
Rails * To install as a plugin ** Rails 3: script/plugin install http://github.com/jackdempsey/acts_as_commentable.git ** Rails 2: script/plugin install http://github.com/jackdempsey/acts_as_commentable.git -r 2.x * To install as a gem sudo gem install Merb/Rails * To install as a gem: Run the following if you haven't already: gem sources -a http://gems.github.com Install the gem(s): sudo gem install jackdempsey-acts_as_commentable add the folloowing line to your environment.rb config.gem 'jackdempsey-acts_as_commentable', :lib => 'acts_as_commentable', :source => "http://gems.github.com" * The gem's have also been pushed to gemcutter.org, so if you have that in your sources, you can just 'gem install acts_as_commentable' Generate your comment model: script/generate comment Then migrate your database: rake db:migrate
Merb Users: * add 'dependency "acts_as_commentable"' to your init.rb or dependencies.rb if using merb-stack * Make your ActiveRecord model act as commentable. class Model < ActiveRecord::Base acts_as_commentable end * Add a comment to a model instance commentable = Model.create commentable.comments.create(:title => "First comment.", :comment => "This is the first comment.") * Fetch comments for a commentable model: commentable = Model.find(1) comments = commentable.comments.recent.limit(10).all # Following doesn't work/make sense to me. Leaving for historical sake -- Jack # * Each comment reference commentable object # # model = Model.find(1) # model.comments.get(0).commentable == model
Xelipe - This plugin is heavily influenced by Acts As Taggable.