1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/test/models/comment.rb
Sammy Larbi 4abbdbdf16 Skip StatementCache for eager loaded associations (Fixes #16761)
Eagerly loaded collection and singular associations are ignored by the StatementCache, which causes errors when the queries they generate reference columns that were not eagerly loaded.

This commit skips the creation of the StatementCache as a fix for these scenarios.
2014-09-04 10:05:01 -05:00

59 lines
1.5 KiB
Ruby

class Comment < ActiveRecord::Base
scope :limit_by, lambda {|l| limit(l) }
scope :containing_the_letter_e, -> { where("comments.body LIKE '%e%'") }
scope :not_again, -> { where("comments.body NOT LIKE '%again%'") }
scope :for_first_post, -> { where(:post_id => 1) }
scope :for_first_author, -> { joins(:post).where("posts.author_id" => 1) }
scope :created, -> { all }
belongs_to :post, :counter_cache => true
belongs_to :author, polymorphic: true
belongs_to :resource, polymorphic: true
belongs_to :developer
has_many :ratings
belongs_to :first_post, :foreign_key => :post_id
has_many :children, :class_name => 'Comment', :foreign_key => :parent_id
belongs_to :parent, :class_name => 'Comment', :counter_cache => :children_count
def self.what_are_you
'a comment...'
end
def self.search_by_type(q)
where("#{QUOTED_TYPE} = ?", q)
end
def self.all_as_method
all
end
scope :all_as_scope, -> { all }
def to_s
body
end
end
class SpecialComment < Comment
end
class SubSpecialComment < SpecialComment
end
class VerySpecialComment < Comment
end
class CommentThatAutomaticallyAltersPostBody < Comment
belongs_to :post, class_name: "PostThatLoadsCommentsInAnAfterSaveHook", foreign_key: :post_id
after_save do |comment|
comment.post.update_attributes(body: "Automatically altered")
end
end
class CommentWithDefaultScopeReferencesAssociation < Comment
default_scope ->{ includes(:developer).order('developers.name').references(:developer) }
belongs_to :developer
end