Module: ClientSideValidations::ActionView::Helpers::FormHelper
- Defined in:
- lib/client_side_validations/action_view/form_helper.rb
Defined Under Namespace
Classes: Error
Instance Method Summary collapse
- #apply_form_for_options!(object_or_array, options) ⇒ Object
- #fields_for(record_or_name_or_array, *args, &block) ⇒ Object
- #form_for(record_or_name_or_array, *args, &proc) ⇒ Object
Instance Method Details
#apply_form_for_options!(object_or_array, options) ⇒ Object
33 34 35 36 |
# File 'lib/client_side_validations/action_view/form_helper.rb', line 33 def (object_or_array, ) super [:html][:validate] = true if [:validate] end |
#fields_for(record_or_name_or_array, *args, &block) ⇒ Object
38 39 40 41 42 |
# File 'lib/client_side_validations/action_view/form_helper.rb', line 38 def fields_for(record_or_name_or_array, *args, &block) output = super @validators.merge!(args.last[:validators]) output end |
#form_for(record_or_name_or_array, *args, &proc) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/client_side_validations/action_view/form_helper.rb', line 5 def form_for(record_or_name_or_array, *args, &proc) = args. if [:validate] # Turn off SimpleForm's HTML5 Form Validations if [:builder].to_s == 'SimpleForm::FormBuilder' [:html][:novalidate] = true end case record_or_name_or_array when String, Symbol raise ClientSideValidations::ActionView::Helpers::FormHelper::Error, 'Using form_for(:name, @resource) is deprecated in Rails and is not supported with ClientSideValidations. Please use form_for(@resource, :as => :name) instead.' when Array object = record_or_name_or_array.last else object = record_or_name_or_array end end @validators = {} # Order matters here. Rails mutates the options object script = client_side_form_settings(object, ) form = super(record_or_name_or_array, *(args << ), &proc) # Because of the load order requirement above this sub is necessary # Would be nice to not do this "#{form}#{script ? script.sub('"validator_hash"', @validators.to_json) : nil}".html_safe end |