From 652ecc4707f2e6ee019e1864179ffcaf76706ed2 Mon Sep 17 00:00:00 2001 From: Joe Sak Date: Tue, 15 Feb 2011 23:20:07 -0600 Subject: Closes GH-37. Move habtm assn to a has_many :through so posts can be ordered by published_at DESC on category#show view --- app/models/blog_category.rb | 3 ++- app/models/blog_post.rb | 4 +++- app/models/categorization.rb | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 app/models/categorization.rb (limited to 'app') diff --git a/app/models/blog_category.rb b/app/models/blog_category.rb index 8ffe834..fbd5465 100644 --- a/app/models/blog_category.rb +++ b/app/models/blog_category.rb @@ -1,6 +1,7 @@ class BlogCategory < ActiveRecord::Base - has_and_belongs_to_many :posts, :class_name => 'BlogPost' + has_many :categorizations + has_many :posts, :through => :categorizations, :source => :blog_post, :order => 'published_at DESC' acts_as_indexed :fields => [:title] diff --git a/app/models/blog_post.rb b/app/models/blog_post.rb index 60d982a..1d01a20 100644 --- a/app/models/blog_post.rb +++ b/app/models/blog_post.rb @@ -1,7 +1,9 @@ class BlogPost < ActiveRecord::Base has_many :comments, :class_name => 'BlogComment', :dependent => :destroy - has_and_belongs_to_many :categories, :class_name => 'BlogCategory' + + has_many :categorizations + has_many :categories, :through => :categorizations, :source => :blog_category acts_as_indexed :fields => [:title, :body] diff --git a/app/models/categorization.rb b/app/models/categorization.rb new file mode 100644 index 0000000..32e9967 --- /dev/null +++ b/app/models/categorization.rb @@ -0,0 +1,5 @@ +class Categorization < ActiveRecord::Base + set_table_name 'blog_categories_blog_posts' + belongs_to :blog_post + belongs_to :blog_category +end \ No newline at end of file -- cgit v1.2.3