Allows for threaded comments to be added to multiple and different models. Drop-in compatible for acts_as_commentable (however requiring a database schema change)
== Resources
Install
Rails
script/plugin install http://github.com/jackdempsey/acts_as_commentable
Merb/Rails
rake install
- Create a new rails migration and add the following self.up and self.down methods
def self.up
create_table "comments", :force => true do |t|
t.integer "commentable_id", :default => 0
t.string "commentable_type", :limit => 15, :default => ""
t.string "title", :default => ""
t.text "body", :default => ""
t.string "subject", :default => ""
t.integer "user_id", :default => 0, :null => false
t.integer "parent_id"
t.integer "lft"
t.integer "rgt"
t.timestamps
end
add_index "comments", "user_id"
add_index "comments", "commentable_id"
end
def self.down
drop_table :comments
end
== Usage
class Model < ActiveRecord::Base
acts_as_commentable_with_threading
end
- Add a comment to a model instance
model = Model.new
comment = Comment.new(:model => model, :body => "Your comment text here")
comment.save!
comment.move_to_child_of(the_desired_parent_comment)
Following doesn't work/make sense to me. Leaving for historical sake -- Jack
model = Model.find(1)
== Credits
Jack Dempsey - This plugin/gem is heavily influenced/liberally borrowed/stole from acts_as_commentable
which in turn credits....
Xelipe - Because acts_as_commentable was heavily influenced by Acts As Taggable.
== More
http://triple-dog-dare.com
http://evan.tiggerpalace.com