Sha256: 3b0310017f46ddbd6a369672b4409720602c1121dc96d1e83279ed2a867da77a
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
module AngularSprinkles module Helpers module BindFormForHelper ## # bind_form_for # # Wraps the form_for helper so that form submission can be bound # an Angular service function. Accepts an additional argument which # is the name of a service. Two arguments are passed to the service: # the object and the Angular representation of the form. def bind_form_for(record, submit_callback, options = {}, &block) form_name = ObjectKeyWrapper.new('form', JavaScript::NoOp) record_array = [record].flatten # ensures that record will be handled in the same way whether or not it's an array html_options = { 'name' => form_name, 'ng-submit' => service(submit_callback, *record_array.map(&:bind), form_name) }.merge(options[:html] || {}) augmented_options = options.merge(url: "", method: "", html: html_options) form_for(record_array.first, augmented_options, &block).gsub('action="" ', '').html_safe end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
angular_sprinkles-0.2.8 | lib/angular_sprinkles/helpers/bind_form_for_helper.rb |