Agile Web Development

Build it. Launch it. Love it.

acts_as_commentable_with_threading

Acts As Commentable (now with comment threads (TM)!!! — kidding on the (TM))

=============

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

   * To install as a plugin:

    script/plugin install http://github.com/jackdempsey/acts_as_commentable

  Merb/Rails

   * To install as a gem:

   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
 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
 # * Each comment reference commentable object
 #
 # model = Model.find(1)
 # model.comment_threads.first.commentable == model

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

Vitals

Home http://github.com/elight/acts_as_commentable_with_threading/tree/master
Repository git://github.com/elight/acts_as_commentable_with_threading.git
License Rails' (MIT)
Tags Tag_red
Rating (6 votes)
Owner Evan Light
Created 17 November 2008

Comments

  • Avatar
    Mark
    16 December 2008

    Comment has no 'model' method. How are you able to get it to save a comment?

Add a comment