提交 a98de931 编写于 作者: M Matthew Draper

Merge pull request #29293 from kamipo/fix_sti_with_default_scope

Fix `default_scoped` with defined `default_scope` on STI model
上级 3fdf64a3
......@@ -110,7 +110,11 @@ def build_default_scope(base_rel = nil)
if default_scope_override
# The user has defined their own default scope method, so call that
evaluate_default_scope { default_scope }
evaluate_default_scope do
if scope = default_scope
(base_rel ||= relation).merge(scope)
end
end
elsif default_scopes.any?
base_rel ||= relation
evaluate_default_scope do
......
require "cases/helper"
require "models/author"
require "models/company"
require "models/membership"
require "models/person"
require "models/post"
require "models/project"
......@@ -29,7 +30,7 @@ def assign_store_full_sti_class(flag)
class InheritanceTest < ActiveRecord::TestCase
include InheritanceTestHelper
fixtures :companies, :projects, :subscribers, :accounts, :vegetables
fixtures :companies, :projects, :subscribers, :accounts, :vegetables, :memberships
def test_class_with_store_full_sti_class_returns_full_name
with_store_full_sti_class do
......@@ -435,6 +436,10 @@ def test_scope_inherited_properly
assert_nothing_raised { Company.of_first_firm }
assert_nothing_raised { Client.of_first_firm }
end
def test_inheritance_with_default_scope
assert_equal 1, SelectedMembership.count(:all)
end
end
class InheritanceComputeTypeTest < ActiveRecord::TestCase
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册