Module: CaseForm::Buttons
- Included in:
- FormBuilder
- Defined in:
- lib/case_form/buttons.rb
Instance Method Summary collapse
-
#button(options = {}) ⇒ Object
(also: #commit)
Submit button.
-
#buttons(*args, &block) ⇒ Object
Buttons with or without block.
-
#reset(options = {}) ⇒ Object
Reset button.
Instance Method Details
#button(options = {}) ⇒ Object Also known as: commit
Submit button
Creates a basic form submit button.
Examples:
# Generate only button
<%= case_form_for(@user) do |f| %>
<%= f.
<% end %>
<div class="buttons">
<input name="submit" type="submit" value="Create" />
</div>
# or in buttons block
<%= case_form_for(@user) do |f| %>
<%= f.buttons do %>
<%= f.button %>
<% end %>
<% end %>
<div class="fieldset">
<div class="buttons">
<input name="submit" type="submit" value="Create" />
</div>
</div>
Allowed options:
-
:id- HTML ID -
:class- HTML class -
:style- not recommended HTML styles (use CSS) -
:text- text on button -
:disabled- disabled button -
:as- button type (supported values: :submit and :reset)
I18n lookups priority:
-
‘case_form.buttons.{model}.{button_type}’
-
‘case_form.buttons.{button_type}’
-
Create || Update
122 123 124 |
# File 'lib/case_form/buttons.rb', line 122 def (={}) Element::Button.new(self, .merge(:as => :submit)).generate end |
#buttons(*args, &block) ⇒ Object
Buttons with or without block
With no arguments it creates fieldset with buttons defined in CaseForm config (by default :submit and :reset button). Also can create buttons determined in arguments.
Examples:
# Create buttons defined in CaseForm config
<%= case_form_for(@user) do |f| %>
<%= f. %>
<% end %>
<fieldset class="fieldset">
<div class="buttons">
<input name="submit" type="submit" value="Create" />
</div>
<div class="buttons">
<input name="reset" type="reset" value="Reset" />
</div>
</fieldset>
# or create buttons defined in arguments
<%= case_form_for(@user) do |f| %>
<%= f.(:commit) %>
<% end %>
<fieldset class="fieldset">
<div class="buttons">
<input name="submit" type="submit" value="Create" />
</div>
</fieldset>
# or create buttons in block
<%= case_form_for(@user) do |f| %>
<%= f. do %>
<%= f.button %>
<% end %>
<% end %>
<fieldset class="fieldset">
<div class="buttons">
<input name="submit" type="submit" value="Create" />
</div>
</fieldset>
Default buttons config:
-
CaseForm.form_buttons
-
CaseForm.wrapper_tag
Allowed options:
-
:id- HTML ID -
:class- HTML class -
:style- not recommended HTML styles (use CSS) -
:text- legend for fieldset
For more advanced options for each button use block.
64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/case_form/buttons.rb', line 64 def (*args, &block) = args. [:class] ||= :buttons fieldset = Element::Fieldset.new(self, ) if block_given? fieldset.generate(&block) else args = CaseForm. if args.empty? fieldset.generate(args.collect { || send() }) end end |
#reset(options = {}) ⇒ Object
Reset button
Creates a new reset button for forms (support for HTML5).
Examples:
# Generate only button
<%= case_form_for(@user) do |f| %>
<%= f.reset
<% end %>
<div class="buttons">
<input name="reset" type="reset" value="Reset" />
</div>
# or in buttons block
<%= case_form_for(@user) do |f| %>
<%= f.buttons do %>
<%= f.reset %>
<% end %>
<% end %>
<div class="fieldset">
<div class="buttons">
<input name="reset" type="reset" value="Reset" />
</div>
</div>
Allowed options:
-
:id- HTML ID -
:class- HTML class -
:style- not recommended HTML styles (use CSS) -
:text- text on button -
:disabled- disabled button -
:as- button type (supported values: :submit and :reset)
I18n lookups priority:
-
‘case_form.buttons.{model}.{button_type}’
-
‘case_form.buttons.{button_type}’
-
Reset
171 172 173 |
# File 'lib/case_form/buttons.rb', line 171 def reset(={}) Element::Button.new(self, .merge(:as => :reset)).generate end |