mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Abstract load_target conditional logic
This commit is contained in:
@@ -359,7 +359,7 @@ module ActiveRecord
|
||||
end
|
||||
|
||||
def load_target
|
||||
if (!@owner.new_record? || foreign_key_present?) && !loaded?
|
||||
if find_target?
|
||||
targets = []
|
||||
|
||||
begin
|
||||
|
||||
@@ -226,18 +226,19 @@ module ActiveRecord
|
||||
# ActiveRecord::RecordNotFound is rescued within the method, and it is
|
||||
# not reraised. The proxy is \reset and +nil+ is the return value.
|
||||
def load_target
|
||||
if !loaded? && (!@owner.new_record? || foreign_key_present?) && target_klass
|
||||
@target = find_target
|
||||
end
|
||||
|
||||
@target = find_target if find_target?
|
||||
loaded
|
||||
@target
|
||||
target
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
reset
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def find_target?
|
||||
!loaded? && (!@owner.new_record? || foreign_key_present?) && target_klass
|
||||
end
|
||||
|
||||
def interpolate_sql(sql, record = nil)
|
||||
@owner.send(:interpolate_sql, sql, record)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user