Acts as taggable installed
This commit is contained in:
parent
bd2802161a
commit
ac7a6f6636
4 changed files with 38 additions and 0 deletions
|
@ -1,3 +1,5 @@
|
|||
require 'acts-as-taggable-on'
|
||||
|
||||
class BlogPost < ActiveRecord::Base
|
||||
|
||||
default_scope :order => 'published_at DESC'
|
||||
|
@ -6,6 +8,7 @@ class BlogPost < ActiveRecord::Base
|
|||
belongs_to :author, :class_name => 'User', :foreign_key => :user_id
|
||||
|
||||
has_many :comments, :class_name => 'BlogComment', :dependent => :destroy
|
||||
acts_as_taggable
|
||||
|
||||
has_many :categorizations
|
||||
has_many :categories, :through => :categorizations, :source => :blog_category
|
||||
|
|
28
db/migrate/3_acts_as_taggable_on_migration.rb
Normal file
28
db/migrate/3_acts_as_taggable_on_migration.rb
Normal file
|
@ -0,0 +1,28 @@
|
|||
class ActsAsTaggableOnMigration < ActiveRecord::Migration
|
||||
def self.up
|
||||
create_table :tags do |t|
|
||||
t.string :name
|
||||
end
|
||||
|
||||
create_table :taggings do |t|
|
||||
t.references :tag
|
||||
|
||||
# You should make sure that the column created is
|
||||
# long enough to store the required class names.
|
||||
t.references :taggable, :polymorphic => true
|
||||
t.references :tagger, :polymorphic => true
|
||||
|
||||
t.string :context
|
||||
|
||||
t.datetime :created_at
|
||||
end
|
||||
|
||||
add_index :taggings, :tag_id
|
||||
add_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table :taggings
|
||||
drop_table :tags
|
||||
end
|
||||
end
|
|
@ -11,6 +11,7 @@ Gem::Specification.new do |s|
|
|||
|
||||
s.add_dependency 'refinerycms', '>= 0.9.8'
|
||||
s.add_dependency 'filters_spam', '~> 0.2'
|
||||
s.add_dependency 'acts-as-taggable-on', '~> 2.0.6'
|
||||
|
||||
s.files = %w(
|
||||
app
|
||||
|
|
|
@ -47,6 +47,12 @@ describe BlogPost do
|
|||
end
|
||||
end
|
||||
|
||||
describe "tags" do
|
||||
it "acts as taggable" do
|
||||
Factory(:post).should respond_to(:tag_list)
|
||||
end
|
||||
end
|
||||
|
||||
describe "authors" do
|
||||
it "are authored" do
|
||||
BlogPost.instance_methods.map(&:to_sym).include? :author
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue