Module: Bootstrap::FormHelper
- Defined in:
- app/helpers/bootstrap/form_helper.rb
Overview
Rails helper methods associated with forms for Bootstrap.
Constant Summary collapse
- ArgumentError =
Class.new(StandardError)
- InvalidButtonModifierError =
Class.new(StandardError)
Instance Method Summary collapse
-
#cancel_button_tag(text, type, size, options = {}) ⇒ String
Convenience method for standard “Cancel” button.
-
#form_actions(options = {}) ⇒ String
Convience method for Bootstrap form action DIV.
-
#submit_button_tag(text, type, size, options = {}) ⇒ String
Returns <input> similar to #submit_tag() but: x * styled like a Bootstrap button, type :primary * has
:disable_with
set to “Processing …” See ButtonHelper for documentation on button type and size submit_button_tag(‘Save’) submit_button_tag(‘Delete’, :danger) submit_button_tag(‘Big’, :large) submit_button_tag(‘With Options’, :small, :info, id: ‘my-id’).
Instance Method Details
#cancel_button_tag(text, type, size, options = {}) ⇒ String
Convenience method for standard “Cancel” button.
The text, type, and size
arguments are all optional.
Has same semantics as calls to ButtonHelper#button except:
-
text defaults to “Cancel”
-
:url
option is required
33 34 35 36 37 38 39 40 41 42 |
# File 'app/helpers/bootstrap/form_helper.rb', line 33 def (*args) = (args.) raise(ArgumentError, "must pass a :url option") unless .has_key?(:url) = ensure_class(, 'btn') args.map!(&:to_s) args.unshift("Cancel") if args.all? { |e| ::Bootstrap::ButtonHelper::BUTTON_ALL.include?(e) } (*args, ) end |
#form_actions(options = {}) ⇒ String
Convience method for Bootstrap form action DIV.
48 49 50 51 52 53 54 55 |
# File 'app/helpers/bootstrap/form_helper.rb', line 48 def form_actions(={}) = () = ensure_class(, 'form-actions') content_tag(:div, ) do yield end end |
#submit_button_tag(text, type, size, options = {}) ⇒ String
Returns <input> similar to #submit_tag() but: x
-
styled like a Bootstrap button, type :primary
-
has
:disable_with
set to “Processing …”
See ButtonHelper for documentation on button type and size
('Save')
('Delete', :danger)
('Big', :large)
('With Options', :small, :info, id: 'my-id')
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'app/helpers/bootstrap/form_helper.rb', line 72 def (*args) = (args.) value = if Bootstrap::ButtonHelper::BUTTON_ALL.include?(args.first.to_s) "Save changes" else args.shift.presence || "Save changes" end = if args.present? args.each { |e| raise(InvalidButtonModifierError, e.inspect) unless Bootstrap::ButtonHelper::BUTTON_ALL.include?(e.to_s) } ['btn'] + args.map { |e| "btn-#{e}" } else ['btn', 'btn-primary'] end = ensure_class(, ) disable_or_remove = [:data] && [:data].delete(:disable_with) unless disable_or_remove === false [:data] ||= {} [:data][:disable_with] = disable_or_remove || "Processing ..." end submit_tag(value, ) end |