43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/oxymoron/extensions/form_helper.rb', line 43
def oxymoron_form_for(record, options = {}, &block)
options[:builder] ||= Config.form_builder
case record
when String, Symbol
object_name = record
else
object = record.is_a?(Array) ? record.last : record
raise ArgumentError, "First argument in form cannot contain nil or be empty" unless object
object_name = options[:as] || model_name_from_record_or_class(object).param_key
end
html_options = options[:html] ||= {}
html_options[:name] ||= object_name
prefix = html_options["ng-submit-prefix"] || options[:prefix] || 'ctrl'
html_options["ng-submit"] ||= "formQuery = #{prefix}.save({form_name: '#{object_name}', id: #{prefix}.#{object_name}.id, #{object_name}: #{prefix}.#{object_name}}); $event.preventDefault();"
options[:html].merge!(html_options)
form_for record, options, &block
end
|