Sha256: a6b5eba18845b6372e5320330d542ef55e994dcd2a094794534a8d90c2f1cf45

Contents?: true

Size: 1.09 KB

Versions: 8

Compression:

Stored size: 1.09 KB

Contents

module SimpleForm
  module ActionViewExtensions
    # A collection of methods required by simple_form but added to rails default form.
    # This means that you can use such methods outside simple_form context.
    module Builder

      # Wrapper for using SimpleForm inside a default rails form.
      # Example:
      #
      #   form_for @user do |f|
      #     f.simple_fields_for :posts do |posts_form|
      #       # Here you have all simple_form methods available
      #       posts_form.input :title
      #     end
      #   end
      def simple_fields_for(*args, &block)
        options = args.extract_options!
        options[:wrapper] = self.options[:wrapper] if options[:wrapper].nil?
        options[:defaults] ||= self.options[:defaults]

        if self.class < ActionView::Helpers::FormBuilder
          options[:builder] ||= self.class
        else
          options[:builder] ||= SimpleForm::FormBuilder
        end
        fields_for(*args, options, &block)
      end
    end
  end
end

module ActionView::Helpers
  class FormBuilder
    include SimpleForm::ActionViewExtensions::Builder
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
simple_form-3.0.4 lib/simple_form/action_view_extensions/builder.rb
simple_form-3.0.3 lib/simple_form/action_view_extensions/builder.rb
simple_form-3.1.0.rc2 lib/simple_form/action_view_extensions/builder.rb
simple_form-3.1.0.rc1 lib/simple_form/action_view_extensions/builder.rb
simple_form-3.0.2 lib/simple_form/action_view_extensions/builder.rb
simple_form-3.0.1 lib/simple_form/action_view_extensions/builder.rb
simple_form-3.0.0 lib/simple_form/action_view_extensions/builder.rb
simple_form-3.0.0.rc lib/simple_form/action_view_extensions/builder.rb