comfy_bootstrap_form 4.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +0 -2
- data/.travis.yml +2 -0
- data/Gemfile +3 -2
- data/LICENSE.md +1 -1
- data/README.md +32 -9
- data/bootstrap_form.gemspec +6 -3
- data/lib/bootstrap_form/version.rb +1 -1
- data/lib/bootstrap_form/view_helper.rb +30 -9
- metadata +5 -60
- data/demo/README.md +0 -18
- data/demo/Rakefile +0 -6
- data/demo/app/controllers/application_controller.rb +0 -2
- data/demo/app/controllers/bootstrap_controller.rb +0 -18
- data/demo/app/models/application_record.rb +0 -3
- data/demo/app/models/user.rb +0 -3
- data/demo/app/views/bootstrap/form.html.erb +0 -127
- data/demo/app/views/layouts/application.html.erb +0 -43
- data/demo/bin/bundle +0 -3
- data/demo/bin/rails +0 -4
- data/demo/bin/rake +0 -4
- data/demo/bin/setup +0 -36
- data/demo/bin/update +0 -31
- data/demo/bin/yarn +0 -11
- data/demo/config/application.rb +0 -24
- data/demo/config/boot.rb +0 -5
- data/demo/config/database.yml +0 -21
- data/demo/config/environment.rb +0 -5
- data/demo/config/environments/development.rb +0 -60
- data/demo/config/environments/test.rb +0 -48
- data/demo/config/initializers/application_controller_renderer.rb +0 -8
- data/demo/config/initializers/assets.rb +0 -14
- data/demo/config/initializers/backtrace_silencers.rb +0 -7
- data/demo/config/initializers/cookies_serializer.rb +0 -5
- data/demo/config/initializers/filter_parameter_logging.rb +0 -4
- data/demo/config/initializers/inflections.rb +0 -16
- data/demo/config/initializers/mime_types.rb +0 -4
- data/demo/config/initializers/wrap_parameters.rb +0 -14
- data/demo/config/locales/en.yml +0 -33
- data/demo/config/puma.rb +0 -56
- data/demo/config/routes.rb +0 -5
- data/demo/config/spring.rb +0 -6
- data/demo/config/storage.yml +0 -35
- data/demo/config.ru +0 -5
- data/demo/db/schema.rb +0 -14
- data/demo/form_preview_horizontal.png +0 -0
- data/demo/form_preview_horizontal_with_errors.png +0 -0
- data/demo/form_preview_inline.png +0 -0
- data/demo/form_preview_vertical.png +0 -0
- data/demo/log/.keep +0 -0
- data/demo/package.json +0 -5
- data/demo/public/favicon.ico +0 -0
- data/test/bootstrap_form/bootstrap_options_test.rb +0 -114
- data/test/bootstrap_form/fields_test.rb +0 -304
- data/test/bootstrap_form/fields_with_errors_test.rb +0 -111
- data/test/bootstrap_form/form_builder_test.rb +0 -17
- data/test/bootstrap_form/horizontal_form_test.rb +0 -160
- data/test/bootstrap_form/inline_form_test.rb +0 -68
- data/test/bootstrap_form/input_group_test.rb +0 -56
- data/test/bootstrap_form/radios_and_checkboxes_test.rb +0 -207
- data/test/bootstrap_form/submit_test.rb +0 -59
- data/test/bootstrap_form/view_helpers_test.rb +0 -99
- data/test/gemfiles/5.2.gemfile +0 -14
- data/test/test_helper.rb +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1131134a470480c0db98c57088a09d3dc5875cdde69e2886c4ad58e56f85982
|
4
|
+
data.tar.gz: eb630d1a2474b38262f778ec6a77dcb6adcfb359f15ac11064e32aa164efbd26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3159663372d2ce7266d3145ade1a927c7195e99df1954c4a535bfd402ffeaf2155df31277887d09dff6b561b3167226f7baab64605661e7d8a09950f12c65647
|
7
|
+
data.tar.gz: de46cca64ea6c26c322336d544a6d4ac0c719067ae64d0b5d3dcbd77acff0570a1aa2440d343b0f87ba38abf611e7ea98c7d14cc3aa442a09b2444e880ef9cdc
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -3,16 +3,17 @@ source "http://rubygems.org"
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
# Uncomment and change rails version for testing purposes
|
6
|
-
# gem "rails", "~> 5.
|
6
|
+
# gem "rails", "~> 5.1.0"
|
7
7
|
|
8
8
|
group :development do
|
9
|
-
gem "rubocop",
|
9
|
+
gem "rubocop", require: false
|
10
10
|
end
|
11
11
|
|
12
12
|
group :test do
|
13
13
|
gem "coveralls", require: false
|
14
14
|
gem "diffy"
|
15
15
|
gem "equivalent-xml"
|
16
|
+
# gem "minitest", "~> 5.10.3"
|
16
17
|
gem "minitest"
|
17
18
|
gem "sqlite3"
|
18
19
|
end
|
data/LICENSE.md
CHANGED
data/README.md
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
|
14
14
|
## Requirements
|
15
15
|
|
16
|
-
- Rails 5.
|
16
|
+
- Rails 5.0+
|
17
17
|
- Bootstrap 4.0.0+
|
18
18
|
|
19
19
|
## Installation
|
@@ -68,6 +68,32 @@ Feel free to take a look at the [Demo App](/demo) to see how everything renders.
|
|
68
68
|
Specifically see [form.html.erb](/demo/app/views/bootstrap/form.html.erb) template
|
69
69
|
for all kinds of different form configurations you can have.
|
70
70
|
|
71
|
+
## Form helpers
|
72
|
+
|
73
|
+
#### boostrap_form_with
|
74
|
+
|
75
|
+
Wrapper around `form_with` helper that's available in Rails 5.1 and above.
|
76
|
+
Here's an example:
|
77
|
+
|
78
|
+
```erb
|
79
|
+
<%= bootstrap_form_with model: @person, scope: :user do |form| %>
|
80
|
+
<%= form.email_field :email %>
|
81
|
+
<%= form.submit %>
|
82
|
+
<% end %>
|
83
|
+
```
|
84
|
+
|
85
|
+
#### bootstrap_form_for
|
86
|
+
|
87
|
+
Wrapper around `form_for` helper that's available in all Rails 5 versions.
|
88
|
+
Here's an example:
|
89
|
+
|
90
|
+
```erb
|
91
|
+
<%= bootstrap_form_with @person, as: :user do |form| %>
|
92
|
+
<%= form.email_field :email %>
|
93
|
+
<%= form.submit %>
|
94
|
+
<% end %>
|
95
|
+
```
|
96
|
+
|
71
97
|
## Supported form field helpers
|
72
98
|
|
73
99
|
This gem wraps most of the default form field helpers. Here's the current list:
|
@@ -262,14 +288,11 @@ If you want to use something like a button, or other html content do this:
|
|
262
288
|
|
263
289
|
### Gotchas
|
264
290
|
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
display: block
|
271
|
-
}
|
272
|
-
```
|
291
|
+
- In Rails 5.1 `form_with` does not generate ids for inputs. If you want them
|
292
|
+
you'll need to override this method: [actionview/lib/action_view/helpers/form_helper.rb#L745](https://github.com/rails/rails/blob/bdc581616b760d1e2be3795c6f0f3ab4b1e125a5/actionview/lib/action_view/helpers/form_helper.rb#L745)
|
293
|
+
- For inline radio buttons and check boxes you need to add custom css for error
|
294
|
+
messages show up. See: [twbs/bootstrap/issues/25540](https://github.com/twbs/bootstrap/issues/25540)
|
295
|
+
For now adding `.invalid-feeback { display: block }` will work.
|
273
296
|
|
274
297
|
## Screenshots
|
275
298
|
|
data/bootstrap_form.gemspec
CHANGED
@@ -6,7 +6,7 @@ require "bootstrap_form/version"
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "comfy_bootstrap_form"
|
8
8
|
s.version = BootstrapForm::VERSION
|
9
|
-
s.authors = ["Oleg Khabarov"
|
9
|
+
s.authors = ["Oleg Khabarov"]
|
10
10
|
s.email = ["oleg@khabarov.ca"]
|
11
11
|
s.homepage = "https://github.com/comfy/comfy-bootstrap-form"
|
12
12
|
s.summary = "Rails form builder that makes it easy to style forms using "\
|
@@ -15,11 +15,14 @@ Gem::Specification.new do |s|
|
|
15
15
|
"easy to create beautiful-looking forms using Bootstrap 4"
|
16
16
|
s.license = "MIT"
|
17
17
|
|
18
|
-
s.files
|
18
|
+
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
19
|
+
f.match(%r{^(test|demo)/})
|
20
|
+
end
|
21
|
+
|
19
22
|
s.bindir = "exe"
|
20
23
|
s.require_paths = ["lib"]
|
21
24
|
|
22
25
|
s.required_ruby_version = ">= 2.2.2"
|
23
26
|
|
24
|
-
s.add_dependency "rails", ">= 5.
|
27
|
+
s.add_dependency "rails", ">= 5.0.0"
|
25
28
|
end
|
@@ -3,26 +3,47 @@ module BootstrapForm
|
|
3
3
|
|
4
4
|
# Wrapper for `form_with`. Passing in Bootstrap form builder.
|
5
5
|
def bootstrap_form_with(**options, &block)
|
6
|
-
|
7
|
-
css_classes = options.delete(:class) || ""
|
8
|
-
bootstrap_options = options[:bootstrap] || {}
|
6
|
+
bootstrap_options = options[:bootstrap] || {}
|
9
7
|
|
10
|
-
|
11
|
-
css_classes << " form-inline"
|
12
|
-
end
|
8
|
+
css_classes = options.delete(:class)
|
13
9
|
|
14
|
-
|
15
|
-
|
10
|
+
if bootstrap_options[:layout].to_s == "inline"
|
11
|
+
css_classes = [css_classes, "form-inline"].compact.join(" ")
|
12
|
+
end
|
13
|
+
|
14
|
+
form_options = options.reverse_merge(builder: BootstrapForm::FormBuilder)
|
15
|
+
form_options.merge!(class: css_classes) unless css_classes.blank?
|
16
|
+
|
17
|
+
supress_form_field_errors do
|
16
18
|
form_with(**form_options, &block)
|
17
19
|
end
|
18
20
|
end
|
19
21
|
|
22
|
+
def bootstrap_form_for(record, options = {}, &block)
|
23
|
+
options[:html] ||= {}
|
24
|
+
|
25
|
+
bootstrap_options = options[:bootstrap] || {}
|
26
|
+
|
27
|
+
css_classes = options[:html].delete(:class)
|
28
|
+
|
29
|
+
if bootstrap_options[:layout].to_s == "inline"
|
30
|
+
css_classes = [css_classes, "form-inline"].compact.join(" ")
|
31
|
+
end
|
32
|
+
|
33
|
+
options.reverse_merge!(builder: BootstrapForm::FormBuilder)
|
34
|
+
options[:html].merge!(class: css_classes) unless css_classes.blank?
|
35
|
+
|
36
|
+
supress_form_field_errors do
|
37
|
+
form_for(record, options, &block)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
20
41
|
private
|
21
42
|
|
22
43
|
# By default, Rails will wrap form fields with extra html to indicate
|
23
44
|
# inputs with errors. We need to handle this in the builder to render
|
24
45
|
# Bootstrap specific markup. So we need to bypass this.
|
25
|
-
def
|
46
|
+
def supress_form_field_errors
|
26
47
|
original_proc = ActionView::Base.field_error_proc
|
27
48
|
ActionView::Base.field_error_proc = proc { |input, _instance| input }
|
28
49
|
yield
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: comfy_bootstrap_form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oleg Khabarov
|
8
|
-
- Stephen Potenza
|
9
8
|
autorequire:
|
10
9
|
bindir: exe
|
11
10
|
cert_chain: []
|
12
|
-
date: 2018-02-
|
11
|
+
date: 2018-02-09 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
@@ -17,14 +16,14 @@ dependencies:
|
|
17
16
|
requirements:
|
18
17
|
- - ">="
|
19
18
|
- !ruby/object:Gem::Version
|
20
|
-
version: 5.
|
19
|
+
version: 5.0.0
|
21
20
|
type: :runtime
|
22
21
|
prerelease: false
|
23
22
|
version_requirements: !ruby/object:Gem::Requirement
|
24
23
|
requirements:
|
25
24
|
- - ">="
|
26
25
|
- !ruby/object:Gem::Version
|
27
|
-
version: 5.
|
26
|
+
version: 5.0.0
|
28
27
|
description: bootstrap_form is a rails form builder that makes it super easy to create
|
29
28
|
beautiful-looking forms using Bootstrap 4
|
30
29
|
email:
|
@@ -42,66 +41,12 @@ files:
|
|
42
41
|
- README.md
|
43
42
|
- Rakefile
|
44
43
|
- bootstrap_form.gemspec
|
45
|
-
- demo/README.md
|
46
|
-
- demo/Rakefile
|
47
|
-
- demo/app/controllers/application_controller.rb
|
48
|
-
- demo/app/controllers/bootstrap_controller.rb
|
49
|
-
- demo/app/models/application_record.rb
|
50
|
-
- demo/app/models/user.rb
|
51
|
-
- demo/app/views/bootstrap/form.html.erb
|
52
|
-
- demo/app/views/layouts/application.html.erb
|
53
|
-
- demo/bin/bundle
|
54
|
-
- demo/bin/rails
|
55
|
-
- demo/bin/rake
|
56
|
-
- demo/bin/setup
|
57
|
-
- demo/bin/update
|
58
|
-
- demo/bin/yarn
|
59
|
-
- demo/config.ru
|
60
|
-
- demo/config/application.rb
|
61
|
-
- demo/config/boot.rb
|
62
|
-
- demo/config/database.yml
|
63
|
-
- demo/config/environment.rb
|
64
|
-
- demo/config/environments/development.rb
|
65
|
-
- demo/config/environments/test.rb
|
66
|
-
- demo/config/initializers/application_controller_renderer.rb
|
67
|
-
- demo/config/initializers/assets.rb
|
68
|
-
- demo/config/initializers/backtrace_silencers.rb
|
69
|
-
- demo/config/initializers/cookies_serializer.rb
|
70
|
-
- demo/config/initializers/filter_parameter_logging.rb
|
71
|
-
- demo/config/initializers/inflections.rb
|
72
|
-
- demo/config/initializers/mime_types.rb
|
73
|
-
- demo/config/initializers/wrap_parameters.rb
|
74
|
-
- demo/config/locales/en.yml
|
75
|
-
- demo/config/puma.rb
|
76
|
-
- demo/config/routes.rb
|
77
|
-
- demo/config/spring.rb
|
78
|
-
- demo/config/storage.yml
|
79
|
-
- demo/db/schema.rb
|
80
|
-
- demo/form_preview_horizontal.png
|
81
|
-
- demo/form_preview_horizontal_with_errors.png
|
82
|
-
- demo/form_preview_inline.png
|
83
|
-
- demo/form_preview_vertical.png
|
84
|
-
- demo/log/.keep
|
85
|
-
- demo/package.json
|
86
|
-
- demo/public/favicon.ico
|
87
44
|
- lib/bootstrap_form.rb
|
88
45
|
- lib/bootstrap_form/bootstrap_options.rb
|
89
46
|
- lib/bootstrap_form/form_builder.rb
|
90
47
|
- lib/bootstrap_form/version.rb
|
91
48
|
- lib/bootstrap_form/view_helper.rb
|
92
49
|
- lib/comfy_bootstrap_form.rb
|
93
|
-
- test/bootstrap_form/bootstrap_options_test.rb
|
94
|
-
- test/bootstrap_form/fields_test.rb
|
95
|
-
- test/bootstrap_form/fields_with_errors_test.rb
|
96
|
-
- test/bootstrap_form/form_builder_test.rb
|
97
|
-
- test/bootstrap_form/horizontal_form_test.rb
|
98
|
-
- test/bootstrap_form/inline_form_test.rb
|
99
|
-
- test/bootstrap_form/input_group_test.rb
|
100
|
-
- test/bootstrap_form/radios_and_checkboxes_test.rb
|
101
|
-
- test/bootstrap_form/submit_test.rb
|
102
|
-
- test/bootstrap_form/view_helpers_test.rb
|
103
|
-
- test/gemfiles/5.2.gemfile
|
104
|
-
- test/test_helper.rb
|
105
50
|
homepage: https://github.com/comfy/comfy-bootstrap-form
|
106
51
|
licenses:
|
107
52
|
- MIT
|
@@ -122,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
67
|
version: '0'
|
123
68
|
requirements: []
|
124
69
|
rubyforge_project:
|
125
|
-
rubygems_version: 2.7.
|
70
|
+
rubygems_version: 2.7.5
|
126
71
|
signing_key:
|
127
72
|
specification_version: 4
|
128
73
|
summary: Rails form builder that makes it easy to style forms using Bootstrap 4
|
data/demo/README.md
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# DEMO APP (Rails 5.2)
|
2
|
-
|
3
|
-
### Usage
|
4
|
-
|
5
|
-
- `rake db:schema:load`
|
6
|
-
- `rails s`
|
7
|
-
- Navigate to http://localhost:3000
|
8
|
-
- Start changing stuff in [/demo/app/views/bootstrap/form.html.erb](/demo/app/views/bootstrap/form.html.erb)
|
9
|
-
|
10
|
-
### Following files were added or changed:
|
11
|
-
|
12
|
-
- db/schema.rb
|
13
|
-
- config/{application, routes, boot}.rb
|
14
|
-
- config/environments/{development, test}.rb
|
15
|
-
- app/models/user.rb
|
16
|
-
- app/controllers/bootstrap_controller.rb
|
17
|
-
- app/views/layouts/application.html.erb
|
18
|
-
- app/views/bootstrap/form.html.erb
|
data/demo/Rakefile
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
class BootstrapController < ApplicationController
|
2
|
-
|
3
|
-
def form
|
4
|
-
@user = User.new(test: "Lorem ipsum")
|
5
|
-
|
6
|
-
@user_with_error = User.new
|
7
|
-
@user_with_error.errors.add(:username, "Username already taken")
|
8
|
-
@user_with_error.errors.add(:email, "Invalid email address")
|
9
|
-
@user_with_error.errors.add(:password, "Another user already uses this password")
|
10
|
-
@user_with_error.errors.add(:color, "Red is the worst color. Choose another.")
|
11
|
-
@user_with_error.errors.add(:bio, "Too much information")
|
12
|
-
@user_with_error.errors.add(:locale, "It's fine, but here's another error")
|
13
|
-
@user_with_error.errors.add(:terms, "You never agreed to Terms and Conditions")
|
14
|
-
@user_with_error.errors.add(:test, "Generic error message")
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
data/demo/app/models/user.rb
DELETED
@@ -1,127 +0,0 @@
|
|
1
|
-
<h3>Horizontal Form</h3>
|
2
|
-
|
3
|
-
<%= bootstrap_form_with model: @user, scope: "user_a", url: "/", bootstrap: {layout: :horizontal} do |form| %>
|
4
|
-
<%= form.email_field :username, placeholder: "AzureDiamond", bootstrap: {prepend: "@"} %>
|
5
|
-
<%= form.email_field :email, placeholder: "you@example.com" %>
|
6
|
-
<%= form.password_field :password, placeholder: "hunter2", bootstrap: {help: "Password should be at least 12 characters long"} %>
|
7
|
-
<%= form.collection_radio_buttons :color, ["red", "green", "blue"], :to_s, :titleize, bootstrap: {check_inline: true, help: "Choose your favorite color"} %>
|
8
|
-
<%= form.text_area :bio, placeholder: "Tell us your life story" %>
|
9
|
-
<%= form.select :locale, [["English", "en"], ["French", "fr"]], {}, bootstrap: {label: {text: "Language"}} %>
|
10
|
-
<%= form.check_box :terms, bootstrap: {label: {text: "I agree to Terms and Conditions"}, help: "By clicking Agree you're also acknowledging that Apple may sew your mouth to a ... "} %>
|
11
|
-
<%= form.primary "Press to Register" do %>
|
12
|
-
<a href="/" class="btn btn-link">Maybe Later</a>
|
13
|
-
<% end %>
|
14
|
-
<% end %>
|
15
|
-
|
16
|
-
<h3>Horizontal Form With Errors</h3>
|
17
|
-
|
18
|
-
<%= bootstrap_form_with model: @user_with_error, scope: "user_b", url: "/", bootstrap: {layout: :horizontal} do |form| %>
|
19
|
-
<%= form.email_field :username, placeholder: "AzureDiamond", bootstrap: {prepend: "@"} %>
|
20
|
-
<%= form.email_field :email, placeholder: "you@example.com" %>
|
21
|
-
<%= form.password_field :password, placeholder: "hunter2", bootstrap: {help: "Password should be at least 12 characters long"} %>
|
22
|
-
<%= form.collection_radio_buttons :color, ["red", "green", "blue"], :to_s, :titleize, bootstrap: {check_inline: true, help: "Choose your favorite color"} %>
|
23
|
-
<%= form.text_area :bio, placeholder: "Tell us your life story" %>
|
24
|
-
<%= form.select :locale, [["English", "en"], ["French", "fr"]], {}, bootstrap: {label: {text: "Language"}} %>
|
25
|
-
<%= form.check_box :terms, bootstrap: {label: {text: "I agree to Terms and Conditions"}, help: "By clicking Agree you're also acknowledging that Apple may sew your mouth to a ... "} %>
|
26
|
-
<%= form.primary "Press to Register" do %>
|
27
|
-
<a href="/" class="btn btn-link">Maybe Later</a>
|
28
|
-
<% end %>
|
29
|
-
<% end %>
|
30
|
-
|
31
|
-
<h3>Inline Form</h3>
|
32
|
-
|
33
|
-
<%= bootstrap_form_with scope: :login, url: "/", bootstrap: {layout: :inline, label: {hide: true}} do |form| %>
|
34
|
-
<%= form.email_field :username, placeholder: "Username", bootstrap: {prepend: "@"} %>
|
35
|
-
<%= form.password_field :password, placeholder: "Password" %>
|
36
|
-
<%= form.check_box :remember_me %>
|
37
|
-
<%= form.primary "Sign in", class: "ml-3" %>
|
38
|
-
<% end %>
|
39
|
-
|
40
|
-
<div class="row">
|
41
|
-
<div class="col-6">
|
42
|
-
<h3>Vertical Form</h3>
|
43
|
-
|
44
|
-
<%= bootstrap_form_with model: @user, scope: "user_c", url: "/" do |form| %>
|
45
|
-
<%= form.email_field :username, placeholder: "AzureDiamond", bootstrap: {prepend: "@"} %>
|
46
|
-
<%= form.email_field :email, placeholder: "you@example.com" %>
|
47
|
-
<%= form.password_field :password, placeholder: "hunter2", bootstrap: {help: "Password should be at least 12 characters long"} %>
|
48
|
-
<%= form.collection_radio_buttons :color, ["red", "green", "blue"], :to_s, :titleize, bootstrap: {check_inline: true, help: "Choose your favorite color"} %>
|
49
|
-
<%= form.text_area :bio, placeholder: "Tell us your life story" %>
|
50
|
-
<%= form.select :locale, [["English", "en"], ["French", "fr"]], {}, bootstrap: {label: {text: "Language"}} %>
|
51
|
-
<%= form.check_box :terms, bootstrap: {label: {text: "I agree to Terms and Conditions"}, help: "By clicking Agree you're also acknowledging that Apple may sew your mouth to a ... "} %>
|
52
|
-
<%= form.primary "Press to Register" do %>
|
53
|
-
<a href="/" class="btn btn-link">Maybe Later</a>
|
54
|
-
<% end %>
|
55
|
-
<% end %>
|
56
|
-
</div>
|
57
|
-
<div class="col-6">
|
58
|
-
<h3>With Errors</h3>
|
59
|
-
|
60
|
-
<%= bootstrap_form_with model: @user_with_error, scope: "user_c", url: "/" do |form| %>
|
61
|
-
<%= form.email_field :username, placeholder: "AzureDiamond", bootstrap: {prepend: "@"} %>
|
62
|
-
<%= form.email_field :email, placeholder: "you@example.com" %>
|
63
|
-
<%= form.password_field :password, placeholder: "hunter2", bootstrap: {help: "Password should be at least 12 characters long"} %>
|
64
|
-
<%= form.collection_radio_buttons :color, ["red", "green", "blue"], :to_s, :titleize, bootstrap: {check_inline: true, help: "Choose your favorite color"} %>
|
65
|
-
<%= form.text_area :bio, placeholder: "Tell us your life story" %>
|
66
|
-
<%= form.select :locale, [["English", "en"], ["French", "fr"]], {}, bootstrap: {label: {text: "Language"}} %>
|
67
|
-
<%= form.check_box :terms, bootstrap: {label: {text: "I agree to Terms and Conditions"}, help: "By clicking Agree you're also acknowledging that Apple may sew your mouth to a ... "} %>
|
68
|
-
<%= form.primary "Press to Register" do %>
|
69
|
-
<a href="/" class="btn btn-link">Maybe Later</a>
|
70
|
-
<% end %>
|
71
|
-
<% end %>
|
72
|
-
</div>
|
73
|
-
</div>
|
74
|
-
|
75
|
-
<div class="row">
|
76
|
-
<div class="col-6">
|
77
|
-
<h3>Checkboxes and Radio buttons</h3>
|
78
|
-
<% @user.test = "b" %>
|
79
|
-
<%= bootstrap_form_with model: @user, scope: "user_d", url: "/" do |form| %>
|
80
|
-
<%= form.collection_radio_buttons :test, [["a", "Label A"], ["b", "Label B"]], :first, :second %>
|
81
|
-
<%= form.collection_check_boxes :test, [["e", "Label E"], ["f", "Label F"]], :first, :second, bootstrap: {help: "help text"} %>
|
82
|
-
<%= form.collection_radio_buttons :test, ["u", "v", "w"], :to_s, :to_s, bootstrap: {inline: true, label: {text: "Custom Label"}} %>
|
83
|
-
<%= form.collection_check_boxes :test, ["x", "y", "z"], :to_s, :to_s, bootstrap: {inline: true, help: "help text", label: {hide: true}} %>
|
84
|
-
<% end %>
|
85
|
-
</div>
|
86
|
-
<div class="col-6">
|
87
|
-
<h3>With Errors</h3>
|
88
|
-
<% @user_with_error.test = "b" %>
|
89
|
-
<%= bootstrap_form_with model: @user_with_error, scope: "user_e", url: "/" do |form| %>
|
90
|
-
<%= form.collection_radio_buttons :test, [["a", "Label A"], ["b", "Label B"]], :first, :second %>
|
91
|
-
<%= form.collection_check_boxes :test, [["e", "Label E"], ["f", "Label F"]], :first, :second, bootstrap: {help: "help text"} %>
|
92
|
-
<%= form.collection_radio_buttons :test, ["u", "v", "w"], :to_s, :to_s, bootstrap: {inline: true, label: {text: "Custom Label"}} %>
|
93
|
-
<%= form.collection_check_boxes :test, ["x", "y", "z"], :to_s, :to_s, bootstrap: {inline: true, help: "help text", label: {hide: true}} %>
|
94
|
-
<% end %>
|
95
|
-
</div>
|
96
|
-
</div>
|
97
|
-
|
98
|
-
<div class="row">
|
99
|
-
<div class="col-6">
|
100
|
-
<h3>Input Group</h3>
|
101
|
-
|
102
|
-
<%= bootstrap_form_with model: @user, scope: "user_f", url: "/" do |form| %>
|
103
|
-
<%= form.email_field :email, placeholder: "Enter Email", bootstrap: {prepend: "Prepend", append: "Append", help: "help text"} %>
|
104
|
-
<% prepend_button = capture do %>
|
105
|
-
<button class="btn btn-success">Go</button>
|
106
|
-
<% end %>
|
107
|
-
<% append_button = capture do %>
|
108
|
-
<button class="btn btn-danger">Stop</button>
|
109
|
-
<% end %>
|
110
|
-
<%= form.email_field :email, placeholder: "Enter Email", bootstrap: {label: {hide: true}, prepend: {html: prepend_button}, append: {html: append_button}} %>
|
111
|
-
<% end %>
|
112
|
-
</div>
|
113
|
-
<div class="col-6">
|
114
|
-
<h3>With Errors</h3>
|
115
|
-
|
116
|
-
<%= bootstrap_form_with model: @user_with_error, scope: "user_g", url: "/" do |form| %>
|
117
|
-
<%= form.email_field :email, placeholder: "Enter Email", bootstrap: {prepend: "Prepend", append: "Append", help: "help text"} %>
|
118
|
-
<% prepend_button = capture do %>
|
119
|
-
<button class="btn btn-success">Go</button>
|
120
|
-
<% end %>
|
121
|
-
<% append_button = capture do %>
|
122
|
-
<button class="btn btn-danger">Stop</button>
|
123
|
-
<% end %>
|
124
|
-
<%= form.email_field :email, placeholder: "Enter Email", bootstrap: {label: {hide: true}, prepend: {html: prepend_button}, append: {html: append_button}} %>
|
125
|
-
<% end %>
|
126
|
-
<div>
|
127
|
-
</div>
|