Class: Para::AttributeField::HasManyField
Instance Attribute Summary
Attributes inherited from Base
#field_method, #field_type, #model, #name, #type
Instance Method Summary
collapse
Methods inherited from Base
#attribute_column_path, #determine_name_and_field_method!, field_option, #field_options, field_types, #initialize, register, #type?
Instance Method Details
#field_name ⇒ Object
6
7
8
|
# File 'lib/para/attribute_field/has_many.rb', line 6
def field_name
reflection.name
end
|
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/para/attribute_field/has_many.rb', line 16
def parse_input(params)
if (ids = params[plural_foreign_key].presence) && String === ids
ids = params[plural_foreign_key] = ids.split(',')
on_the_fly_creation(ids) do |resource, value|
params[plural_foreign_key].delete(value)
params[plural_foreign_key] << resource.id
end
end
end
|
#plural_foreign_key ⇒ Object
28
29
30
|
# File 'lib/para/attribute_field/has_many.rb', line 28
def plural_foreign_key
foreign_key.to_s.pluralize
end
|
#value_for(instance) ⇒ Object
10
11
12
13
14
|
# File 'lib/para/attribute_field/has_many.rb', line 10
def value_for(instance)
instance.send(name).map do |resource|
resource_name(resource)
end.join(', ')
end
|