7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/rails_admin/adapters/active_record/object_extension.rb', line 7
def self.extended(object)
object.class.reflect_on_all_associations.each do |association|
association = Association.new(association, object.class)
case association.type
when :has_one
object.instance_eval <<-RUBY, __FILE__, __LINE__ + 1
def #{association.name}_id
self.#{association.name}&.id
end
def #{association.name}_id=(item_id)
self.#{association.name} = (#{association.klass}.find(item_id) rescue nil)
end
RUBY
end
end
end
|