Fix Adapters::ActiveRecord::Context for Rails 5
This should fix Rails 5 not passing the spec ActiveRecord::ContextSpec "join sources can be rejoined to execute a valid query". TODO: - Refactor out separate files for Rails 5. - Find a fix so the preceding test "returns dependent arel join nodes for all searches run against the context" passes also.
This commit is contained in:
parent
ebf3877173
commit
2a3759317a
|
@ -94,13 +94,18 @@ module Ransack
|
|||
# JoinDependency to track table aliases.
|
||||
#
|
||||
def join_sources
|
||||
base =
|
||||
if ::ActiveRecord::VERSION::MAJOR >= 5
|
||||
Arel::SelectManager.new(@object.table)
|
||||
else
|
||||
Arel::SelectManager.new(@object.engine, @object.table)
|
||||
end
|
||||
joins = @join_dependency.join_constraints(@object.joins_values)
|
||||
base, joins =
|
||||
if ::ActiveRecord::VERSION::MAJOR >= 5
|
||||
[
|
||||
Arel::SelectManager.new(@object.table),
|
||||
@join_dependency.join_constraints(@object.joins_values, @join_type)
|
||||
]
|
||||
else
|
||||
[
|
||||
Arel::SelectManager.new(@object.engine, @object.table),
|
||||
@join_dependency.join_constraints(@object.joins_values)
|
||||
]
|
||||
end
|
||||
joins.each do |aliased_join|
|
||||
base.from(aliased_join)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue