Module: ActiveAdminCsvImport::Convenience::ClassMethods
- Defined in:
- app/models/concerns/active_admin_csv_import/convenience.rb
Instance Method Summary collapse
-
#lookup_belongs_to(name, options) ⇒ Object
Look up a belongs_to association by name.
Instance Method Details
#lookup_belongs_to(name, options) ⇒ Object
Look up a belongs_to association by name. E.g. lookup_belongs_to :state, by: :name Adds state_name as an ivar.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/models/concerns/active_admin_csv_import/convenience.rb', line 10 def lookup_belongs_to(name, ) lookup_by = [:by] code = " attr_accessor :\#{name}_\#{lookup_by}\n\n before_validation :lookup_\#{name}_by_\#{lookup_by}\n\n def lookup_\#{name}_by_\#{lookup_by}\n return if self.\#{name}_\#{lookup_by}.blank?\n self.\#{name} = '\#{name}'.camelize.constantize.where(\#{lookup_by}: self.\#{name}_\#{lookup_by}).first\n end\n eoruby\n class_eval(code)\nend\n" |