Class: ActiveForm::Model::AutoDefinition
- Inherits:
-
Definition
- Object
- Definition
- ActiveForm::Model::AutoDefinition
- Defined in:
- lib/rails/model/loader.rb
Instance Method Summary collapse
Methods inherited from Definition
#assign_validation, #association_column_to_element, #associations_lookup, belongs_to_column, boolean_column, #column_to_element, date_column, datetime_column, #initialize, integer_column, #prepare_new_record, #prepare_record, primary_key_column, string_column, text_column
Constructor Details
This class inherits a constructor from ActiveForm::Model::Definition
Instance Method Details
#build(name, instance, *args, &block) ⇒ Object
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/rails/model/loader.rb', line 183 def build(name, instance, *args, &block) assoc_lookup = associations_lookup(instance) assoc_lookup_keys = assoc_lookup.keys form = ActiveForm::compose(*args) instance.class.columns.each do |column| if column.primary form << self.class.primary_key_column(column) elsif column.name =~ /(_id)$/ && assoc_lookup_keys.include?(column.name) form << association_column_to_element(assoc_lookup[column.name], column) else form << column_to_element(column) end end form.instance_eval(&block) if block_given? form = instance.new_record? ? prepare_new_record(form, instance) : prepare_record(form, instance) assign_validation(form, instance) form end |