Sha256: b37bc990441eff6298f707b58360304fa3a1d35514d2a7dd7aa2cf98902cb4a5

Contents?: true

Size: 1.46 KB

Versions: 47

Compression:

Stored size: 1.46 KB

Contents

module Para
  module FormHelper
    def para_form_for(resource, options = {}, &block)
      default_options = {
        as: :resource,
        wrapper: :vertical_form,
        wrapper_mappings: Para::SimpleFormConfig.wrapper_mappings,
        track_attribute_mappings: true,
        html: {
          class: '',
          data: { :'para-form' => true },
          # Force multipart forms to allow forms with no file input on creation
          # to fetch nested fields with image inputs through the remote nested
          # form loading system. Without this option, rails does not create a
          # multipart form when there is no file input during the form creation.
          multipart: true
        }
      }

      options = default_options.deep_merge(options)

      options[:html][:class] = [
        options[:html][:class].presence,
        'form-vertical forms-outline'
      ].compact.join(' ')

      unless options.key?(:url)
        options[:url] = @component.relation_path(resource)
      end

      simple_form_for(resource, options) do |form|
        capture { block.call(form) }.tap do |content|
          # Append hidden field with type if resource is subclassable
          # to avoid bad class instantiation in create action
          if @component.subclassable? && resource.new_record?
            content << form.hidden_field(:type, value: resource.type)
          end

          content << form.attributes_mappings_field_for(form)
        end
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
para-0.12.4 app/helpers/para/form_helper.rb
para-0.12.3 app/helpers/para/form_helper.rb
para-0.12.2 app/helpers/para/form_helper.rb
para-0.12.1 app/helpers/para/form_helper.rb
para-0.12.0 app/helpers/para/form_helper.rb
para-0.11.4 app/helpers/para/form_helper.rb
para-0.11.3 app/helpers/para/form_helper.rb
para-0.11.2 app/helpers/para/form_helper.rb
para-0.11.1 app/helpers/para/form_helper.rb
para-0.11.0 app/helpers/para/form_helper.rb
para-0.10.0 app/helpers/para/form_helper.rb
para-0.9.4 app/helpers/para/form_helper.rb
para-0.9.3.3 app/helpers/para/form_helper.rb
para-0.9.3.2 app/helpers/para/form_helper.rb
para-0.9.3.1 app/helpers/para/form_helper.rb
para-0.9.2 app/helpers/para/form_helper.rb
para-0.9.0 app/helpers/para/form_helper.rb
para-0.8.15 app/helpers/para/form_helper.rb
para-0.8.14 app/helpers/para/form_helper.rb
para-0.8.13 app/helpers/para/form_helper.rb