2009-12-09 20:25:12 +00:00
|
|
|
module SimpleForm
|
|
|
|
module ActionViewExtensions
|
2012-02-14 02:06:14 +00:00
|
|
|
# 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
|
2012-01-27 19:16:13 +00:00
|
|
|
|
2012-02-17 21:31:36 +00:00
|
|
|
# Wrapper for using SimpleForm inside a default rails form.
|
2009-12-10 17:57:24 +00:00
|
|
|
# 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
|
2009-12-10 10:44:34 +00:00
|
|
|
def simple_fields_for(*args, &block)
|
|
|
|
options = args.extract_options!
|
2012-12-29 15:32:45 +00:00
|
|
|
options[:wrapper] = self.options[:wrapper] if options[:wrapper].nil?
|
2012-04-10 16:32:14 +00:00
|
|
|
options[:defaults] ||= self.options[:defaults]
|
2014-11-19 21:51:18 +00:00
|
|
|
options[:wrapper_mappings] ||= self.options[:wrapper_mappings]
|
2011-11-27 10:46:08 +00:00
|
|
|
|
2011-02-25 16:16:55 +00:00
|
|
|
if self.class < ActionView::Helpers::FormBuilder
|
|
|
|
options[:builder] ||= self.class
|
2011-02-25 15:22:10 +00:00
|
|
|
else
|
2011-02-25 16:16:55 +00:00
|
|
|
options[:builder] ||= SimpleForm::FormBuilder
|
2011-02-25 15:22:10 +00:00
|
|
|
end
|
2013-04-21 15:08:00 +00:00
|
|
|
fields_for(*args, options, &block)
|
2009-12-10 10:44:34 +00:00
|
|
|
end
|
2012-12-27 02:22:59 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2009-12-11 15:28:35 +00:00
|
|
|
|
2012-12-27 02:12:53 +00:00
|
|
|
module ActionView::Helpers
|
|
|
|
class FormBuilder
|
|
|
|
include SimpleForm::ActionViewExtensions::Builder
|
|
|
|
end
|
|
|
|
end
|