method
source_reflection_name
v4.2.9 -
Show latest stable
- Class:
ActiveRecord::Reflection::ThroughReflection
source_reflection_name()public
No documentation available.
# File activerecord/lib/active_record/reflection.rb, line 801
def source_reflection_name # :nodoc:
return @source_reflection_name if @source_reflection_name
names = [name.to_s.singularize, name].collect { |n| n.to_sym }.uniq
names = names.find_all { |n|
through_reflection.klass._reflect_on_association(n)
}
if names.length > 1
example_options = options.dup
example_options[:source] = source_reflection_names.first
ActiveSupport::Deprecation.warn "Ambiguous source reflection for through association. Please " "specify a :source directive on your declaration like:\n" "\n" " class #{active_record.name} < ActiveRecord::Base\n" " #{macro} :#{name}, #{example_options}\n" " end"
end
@source_reflection_name = names.first
end