bootstrap-generators 1.4.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. data/README.md +238 -21
  2. data/bootstrap-generators.gemspec +3 -3
  3. data/lib/bootstrap-generators.rb +0 -1
  4. data/lib/bootstrap/generators/version.rb +1 -1
  5. data/lib/generators/bootstrap/install/install_generator.rb +5 -12
  6. data/lib/generators/bootstrap/install/templates/assets/stylesheets/fluid.css +5 -5
  7. data/lib/generators/bootstrap/install/templates/assets/stylesheets/fluid.css.less +119 -0
  8. data/lib/generators/bootstrap/install/templates/assets/stylesheets/fluid.css.scss +5 -5
  9. data/lib/generators/bootstrap/install/templates/assets/stylesheets/hero.css +0 -5
  10. data/lib/generators/bootstrap/install/templates/assets/stylesheets/hero.css.less +114 -0
  11. data/lib/generators/bootstrap/install/templates/assets/stylesheets/hero.css.scss +0 -5
  12. data/lib/generators/bootstrap/install/templates/config/initializers/simple_form.rb +118 -40
  13. data/lib/generators/bootstrap/install/templates/config/locales/simple_form.en.yml +24 -0
  14. data/lib/generators/bootstrap/install/templates/form_builders/form_builder/_form.html.erb +9 -8
  15. data/lib/generators/bootstrap/install/templates/form_builders/form_builder/_form.html.haml +8 -7
  16. data/lib/generators/bootstrap/install/templates/form_builders/simple_form/_form.html.erb +5 -7
  17. data/lib/generators/bootstrap/install/templates/form_builders/simple_form/_form.html.haml +6 -7
  18. data/lib/generators/bootstrap/install/templates/layouts/fluid.html.erb +50 -47
  19. data/lib/generators/bootstrap/install/templates/layouts/fluid.html.haml +75 -55
  20. data/lib/generators/bootstrap/install/templates/layouts/hero.html.erb +11 -14
  21. data/lib/generators/bootstrap/install/templates/layouts/hero.html.haml +9 -11
  22. data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/edit.html.erb +8 -2
  23. data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/index.html.erb +5 -2
  24. data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/new.html.erb +4 -1
  25. data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/show.html.erb +8 -2
  26. data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/edit.html.haml +6 -2
  27. data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/index.html.haml +4 -2
  28. data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/new.html.haml +3 -1
  29. data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/show.html.haml +6 -2
  30. data/test/lib/generators/bootstrap/install_generator_test.rb +6 -20
  31. data/test/test_helper.rb +1 -1
  32. data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
  33. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  34. data/vendor/assets/javascripts/bootstrap-alert.js +91 -0
  35. data/vendor/assets/javascripts/bootstrap-button.js +98 -0
  36. data/vendor/assets/javascripts/bootstrap-carousel.js +154 -0
  37. data/vendor/assets/javascripts/bootstrap-collapse.js +136 -0
  38. data/vendor/assets/javascripts/bootstrap-dropdown.js +58 -21
  39. data/vendor/assets/javascripts/bootstrap-modal.js +63 -114
  40. data/vendor/assets/javascripts/bootstrap-popover.js +38 -33
  41. data/vendor/assets/javascripts/bootstrap-scrollspy.js +62 -44
  42. data/vendor/assets/javascripts/bootstrap-tab.js +130 -0
  43. data/vendor/assets/javascripts/bootstrap-tooltip.js +270 -0
  44. data/vendor/assets/javascripts/bootstrap-transition.js +51 -0
  45. data/vendor/assets/javascripts/bootstrap-typeahead.js +271 -0
  46. data/vendor/assets/javascripts/bootstrap.js +11 -6
  47. data/vendor/assets/stylesheets/bootstrap.css +2497 -1602
  48. data/vendor/assets/stylesheets/less/accordion.less +28 -0
  49. data/vendor/assets/stylesheets/less/alerts.less +70 -0
  50. data/vendor/assets/stylesheets/less/bootstrap.less +62 -0
  51. data/vendor/assets/stylesheets/less/breadcrumbs.less +22 -0
  52. data/vendor/assets/stylesheets/less/button-groups.less +147 -0
  53. data/vendor/assets/stylesheets/less/buttons.less +165 -0
  54. data/vendor/assets/stylesheets/less/carousel.less +121 -0
  55. data/vendor/assets/stylesheets/less/close.less +18 -0
  56. data/vendor/assets/stylesheets/less/code.less +44 -0
  57. data/vendor/assets/stylesheets/less/component-animations.less +18 -0
  58. data/vendor/assets/stylesheets/less/dropdowns.less +131 -0
  59. data/vendor/assets/stylesheets/less/forms.less +515 -0
  60. data/vendor/assets/stylesheets/less/grid.less +8 -0
  61. data/vendor/assets/stylesheets/less/hero-unit.less +20 -0
  62. data/vendor/assets/stylesheets/less/labels.less +16 -0
  63. data/vendor/assets/stylesheets/less/layouts.less +17 -0
  64. data/vendor/assets/stylesheets/less/mixins.less +537 -0
  65. data/vendor/assets/stylesheets/less/modals.less +72 -0
  66. data/vendor/assets/stylesheets/less/navbar.less +292 -0
  67. data/vendor/assets/stylesheets/less/navs.less +344 -0
  68. data/vendor/assets/stylesheets/less/pager.less +30 -0
  69. data/vendor/assets/stylesheets/less/pagination.less +55 -0
  70. data/vendor/assets/stylesheets/less/popovers.less +49 -0
  71. data/vendor/assets/stylesheets/less/progress-bars.less +95 -0
  72. data/vendor/assets/stylesheets/less/reset.less +126 -0
  73. data/vendor/assets/stylesheets/less/responsive.less +323 -0
  74. data/vendor/assets/stylesheets/less/scaffolding.less +29 -0
  75. data/vendor/assets/stylesheets/less/sprites.less +156 -0
  76. data/vendor/assets/stylesheets/less/tables.less +139 -0
  77. data/vendor/assets/stylesheets/less/thumbnails.less +35 -0
  78. data/vendor/assets/stylesheets/less/tooltip.less +35 -0
  79. data/vendor/assets/stylesheets/less/type.less +217 -0
  80. data/vendor/assets/stylesheets/less/utilities.less +23 -0
  81. data/vendor/assets/stylesheets/less/variables.less +99 -0
  82. data/vendor/assets/stylesheets/less/wells.less +17 -0
  83. metadata +62 -33
  84. data/lib/bootstrap/helpers/form_builder.rb +0 -26
  85. data/lib/generators/bootstrap/install/templates/app/inputs/boolean_input.rb +0 -12
  86. data/lib/generators/bootstrap/install/templates/app/inputs/collection_input.rb +0 -12
  87. data/lib/generators/bootstrap/install/templates/app/inputs/date_time_input.rb +0 -16
  88. data/lib/generators/bootstrap/install/templates/app/inputs/file_input.rb +0 -16
  89. data/lib/generators/bootstrap/install/templates/app/inputs/numeric_input.rb +0 -16
  90. data/lib/generators/bootstrap/install/templates/app/inputs/password_input.rb +0 -16
  91. data/lib/generators/bootstrap/install/templates/app/inputs/string_input.rb +0 -16
  92. data/lib/generators/bootstrap/install/templates/app/inputs/text_input.rb +0 -16
  93. data/lib/generators/bootstrap/install/templates/assets/stylesheets/container-app.css +0 -53
  94. data/lib/generators/bootstrap/install/templates/assets/stylesheets/container-app.css.scss +0 -55
  95. data/lib/generators/bootstrap/install/templates/layouts/container-app.html.erb +0 -58
  96. data/lib/generators/bootstrap/install/templates/layouts/container-app.html.haml +0 -46
  97. data/vendor/assets/javascripts/bootstrap-alerts.js +0 -113
  98. data/vendor/assets/javascripts/bootstrap-buttons.js +0 -62
  99. data/vendor/assets/javascripts/bootstrap-tabs.js +0 -80
  100. data/vendor/assets/javascripts/bootstrap-twipsy.js +0 -321
  101. data/vendor/assets/stylesheets/bootstrap.min.css +0 -356
@@ -4,6 +4,11 @@
4
4
 
5
5
  body {
6
6
  padding-top: 60px;
7
+ padding-bottom: 40px;
8
+ }
9
+
10
+ .sidebar-nav {
11
+ padding: 9px 0;
7
12
  }
8
13
 
9
14
  .page-header {
@@ -15,8 +20,3 @@ body {
15
20
  margin-right: 8px;
16
21
  }
17
22
  }
18
-
19
- .form-stacked div.alert-message {
20
- margin-left: -10px;
21
- }
22
-
@@ -13,8 +13,3 @@ body {
13
13
  .page-header a.btn + a.btn {
14
14
  margin-right: 8px;
15
15
  }
16
-
17
- .form-stacked div.alert-message {
18
- margin-left: -10px;
19
- }
20
-
@@ -0,0 +1,114 @@
1
+ @import "less/bootstrap";
2
+
3
+ body {
4
+ padding-top: 60px;
5
+ }
6
+
7
+ .page-header {
8
+ a.btn {
9
+ float: right;
10
+ }
11
+
12
+ a.btn + a.btn {
13
+ margin-right: 8px;
14
+ }
15
+ }
16
+
17
+ // Variables to customize the look and feel of Bootstrap
18
+ // -----------------------------------------------------
19
+
20
+
21
+
22
+ // GLOBAL VALUES
23
+ // --------------------------------------------------
24
+
25
+ // Links
26
+ @linkColor: #08c;
27
+ @linkColorHover: darken(@linkColor, 15%);
28
+
29
+ // Grays
30
+ @black: #000;
31
+ @grayDarker: #222;
32
+ @grayDark: #333;
33
+ @gray: #555;
34
+ @grayLight: #999;
35
+ @grayLighter: #eee;
36
+ @white: #fff;
37
+
38
+ // Accent colors
39
+ @blue: #049cdb;
40
+ @blueDark: #0064cd;
41
+ @green: #46a546;
42
+ @red: #9d261d;
43
+ @yellow: #ffc40d;
44
+ @orange: #f89406;
45
+ @pink: #c3325f;
46
+ @purple: #7a43b6;
47
+
48
+ // Typography
49
+ @baseFontSize: 13px;
50
+ @baseFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
51
+ @baseLineHeight: 18px;
52
+ @textColor: @grayDark;
53
+
54
+ // Buttons
55
+ @primaryButtonBackground: @linkColor;
56
+
57
+
58
+
59
+ // COMPONENT VARIABLES
60
+ // --------------------------------------------------
61
+
62
+ // Z-index master list
63
+ // Used for a bird's eye view of components dependent on the z-axis
64
+ // Try to avoid customizing these :)
65
+ @zindexDropdown: 1000;
66
+ @zindexPopover: 1010;
67
+ @zindexTooltip: 1020;
68
+ @zindexFixedNavbar: 1030;
69
+ @zindexModalBackdrop: 1040;
70
+ @zindexModal: 1050;
71
+
72
+ // Input placeholder text color
73
+ @placeholderText: @grayLight;
74
+
75
+ // Navbar
76
+ @navbarHeight: 40px;
77
+ @navbarBackground: @grayDarker;
78
+ @navbarBackgroundHighlight: @grayDark;
79
+
80
+ @navbarText: @grayLight;
81
+ @navbarLinkColor: @grayLight;
82
+ @navbarLinkColorHover: @white;
83
+
84
+ // Form states and alerts
85
+ @warningText: #c09853;
86
+ @warningBackground: #fcf8e3;
87
+ @warningBorder: darken(spin(@warningBackground, -10), 3%);
88
+
89
+ @errorText: #b94a48;
90
+ @errorBackground: #f2dede;
91
+ @errorBorder: darken(spin(@errorBackground, -10), 3%);
92
+
93
+ @successText: #468847;
94
+ @successBackground: #dff0d8;
95
+ @successBorder: darken(spin(@successBackground, -10), 5%);
96
+
97
+ @infoText: #3a87ad;
98
+ @infoBackground: #d9edf7;
99
+ @infoBorder: darken(spin(@infoBackground, -10), 7%);
100
+
101
+
102
+
103
+ // GRID
104
+ // --------------------------------------------------
105
+
106
+ // Default 940px grid
107
+ @gridColumns: 12;
108
+ @gridColumnWidth: 60px;
109
+ @gridGutterWidth: 20px;
110
+ @gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
111
+
112
+ // Fluid grid
113
+ @fluidGridColumnWidth: 6.382978723%;
114
+ @fluidGridGutterWidth: 2.127659574%;
@@ -15,8 +15,3 @@ body {
15
15
  margin-right: 8px;
16
16
  }
17
17
  }
18
-
19
- .form-stacked div.alert-message {
20
- margin-left: -10px;
21
- }
22
-
@@ -1,53 +1,132 @@
1
1
  # Use this setup block to configure all options available in SimpleForm.
2
2
  SimpleForm.setup do |config|
3
- # Components used by the form builder to generate a complete input. You can remove
4
- # any of them, change the order, or even add your own components to the stack.
5
- config.components = [ :placeholder, :label_input ]
6
-
7
- # Default tag used on hints.
8
- # config.hint_tag = :span
9
-
10
- # CSS class to add to all hint tags.
11
- config.hint_class = "help-block"
12
-
13
- # CSS class used on errors.
14
- config.error_class = "help-inline"
15
-
16
- # Default tag used on errors.
17
- # config.error_tag = :span
3
+ # Wrappers are used by the form builder to generate a
4
+ # complete input. You can remove any component from the
5
+ # wrapper, change the order or even add your own to the
6
+ # stack. The options given below are used to wrap the
7
+ # whole input.
8
+ config.wrappers :default, :class => :input,
9
+ :hint_class => :field_with_hint, :error_class => :field_with_errors do |b|
10
+ ## Extensions enabled by default
11
+ # Any of these extensions can be disabled for a
12
+ # given input by passing: `f.input EXTENSION_NAME => false`.
13
+ # You can make any of these extensions optional by
14
+ # renaming `b.use` to `b.optional`.
15
+
16
+ # Determines whether to use HTML5 (:email, :url, ...)
17
+ # and required attributes
18
+ b.use :html5
19
+
20
+ # Calculates placeholders automatically from I18n
21
+ # You can also pass a string as f.input :placeholder => "Placeholder"
22
+ b.use :placeholder
23
+
24
+ ## Optional extensions
25
+ # They are disabled unless you pass `f.input EXTENSION_NAME => :lookup`
26
+ # to the input. If so, they will retrieve the values from the model
27
+ # if any exists. If you want to enable the lookup for any of those
28
+ # extensions by default, you can change `b.optional` to `b.use`.
29
+
30
+ # Calculates maxlength from length validations for string inputs
31
+ b.optional :maxlength
32
+
33
+ # Calculates pattern from format validations for string inputs
34
+ b.optional :pattern
35
+
36
+ # Calculates min and max from length validations for numeric inputs
37
+ b.optional :min_max
38
+
39
+ # Calculates readonly automatically from readonly attributes
40
+ b.optional :readonly
41
+
42
+ ## Inputs
43
+ b.use :label_input
44
+ b.use :hint, :tag => :span, :class => :hint
45
+ b.use :error, :tag => :span, :class => :error
46
+ end
47
+
48
+ config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
49
+ b.use :placeholder
50
+ b.use :label, :class => 'control-label'
51
+ b.use :tag => 'div', :class => 'controls' do |ba|
52
+ ba.use :input
53
+ ba.use :error, :tag => 'span', :class => 'help-inline'
54
+ ba.use :hint, :tag => 'p', :class => 'help-block'
55
+ end
56
+ end
57
+
58
+ config.wrappers :prepend, :tag => 'div', :class => "control-group", :error_class => 'error' do |b|
59
+ b.use :placeholder
60
+ b.use :label, :class => 'control-label'
61
+ b.use :hint, :tag => 'span', :class => 'help-block'
62
+ b.use :tag => 'div', :class => 'controls' do |input|
63
+ input.use :tag => 'div', :class => 'input-prepend' do |prepend|
64
+ prepend.use :input
65
+ end
66
+ input.use :error, :tag => 'span', :class => 'help-inline'
67
+ end
68
+ end
69
+
70
+ config.wrappers :append, :tag => 'div', :class => "control-group", :error_class => 'error' do |b|
71
+ b.use :placeholder
72
+ b.use :label, :class => 'control-label'
73
+ b.use :hint, :tag => 'span', :class => 'help-block'
74
+ b.use :tag => 'div', :class => 'controls' do |input|
75
+ input.use :tag => 'div', :class => 'input-append' do |append|
76
+ append.use :input
77
+ end
78
+ input.use :error, :tag => 'span', :class => 'help-inline'
79
+ end
80
+ end
81
+
82
+ # Wrappers for forms and inputs using the Twitter Bootstrap toolkit.
83
+ # Check the Bootstrap docs (http://twitter.github.com/bootstrap)
84
+ # to learn about the different styles for forms and inputs,
85
+ # buttons and other elements.
86
+ config.default_wrapper = :bootstrap
87
+
88
+ # Define the way to render check boxes / radio buttons with labels.
89
+ # Defaults to :nested for bootstrap config.
90
+ # :inline => input + label
91
+ # :nested => label > input
92
+ config.boolean_style = :nested
93
+
94
+ # Default class for buttons
95
+ config.button_class = 'btn'
18
96
 
19
97
  # Method used to tidy up errors.
20
98
  # config.error_method = :first
21
99
 
22
100
  # Default tag used for error notification helper.
23
101
  # config.error_notification_tag = :p
102
+ config.error_notification_tag = :span
24
103
 
25
104
  # CSS class to add for error notification helper.
26
105
  # config.error_notification_class = :error_notification
106
+ config.error_notification_class = nil
27
107
 
28
108
  # ID to add for error notification helper.
29
109
  # config.error_notification_id = nil
30
110
 
31
- # You can wrap all inputs in a pre-defined tag.
32
- # config.wrapper_tag = :div
33
-
34
- # CSS class to add to all wrapper tags.
35
- config.wrapper_class = :clearfix
111
+ # Series of attempts to detect a default label method for collection.
112
+ # config.collection_label_methods = [ :to_label, :name, :title, :to_s ]
36
113
 
37
- # CSS class to add to the wrapper if the field has errors.
38
- config.wrapper_error_class = :error
114
+ # Series of attempts to detect a default value method for collection.
115
+ # config.collection_value_methods = [ :id, :to_s ]
39
116
 
40
117
  # You can wrap a collection of radio/check boxes in a pre-defined tag, defaulting to none.
41
118
  # config.collection_wrapper_tag = nil
42
119
 
43
- # You can wrap each item in a collection of radio/check boxes with a tag, defaulting to span.
44
- # config.item_wrapper_tag = :span
120
+ # You can define the class to use on all collection wrappers. Defaulting to none.
121
+ # config.collection_wrapper_class = nil
45
122
 
46
- # Series of attempts to detect a default label method for collection.
47
- # config.collection_label_methods = [ :to_label, :name, :title, :to_s ]
123
+ # You can wrap each item in a collection of radio/check boxes with a tag,
124
+ # defaulting to :span. Please note that when using :boolean_style = :nested,
125
+ # SimpleForm will force this option to be a label.
126
+ # config.item_wrapper_tag = :span
48
127
 
49
- # Series of attempts to detect a default value method for collection.
50
- # config.collection_value_methods = [ :id, :to_s ]
128
+ # You can define a class to use in all item wrappers. Defaulting to none.
129
+ # config.item_wrapper_class = nil
51
130
 
52
131
  # How the label text should be generated altogether with the required text.
53
132
  # config.label_text = lambda { |label, required| "#{required} #{label}" }
@@ -56,7 +135,7 @@ SimpleForm.setup do |config|
56
135
  # config.label_class = nil
57
136
 
58
137
  # You can define the class to use on all forms. Default is simple_form.
59
- # config.form_class = :"form-stacked"
138
+ config.form_class = 'form-horizontal'
60
139
 
61
140
  # Whether attributes are required by default (or not). Default is true.
62
141
  # config.required_by_default = true
@@ -65,20 +144,14 @@ SimpleForm.setup do |config|
65
144
  # Default is enabled.
66
145
  config.browser_validations = false
67
146
 
68
- # Determines whether HTML5 types (:email, :url, :search, :tel) and attributes
69
- # (e.g. required) are used or not. True by default.
70
- # Having this on in non-HTML5 compliant sites can cause odd behavior in
71
- # HTML5-aware browsers such as Chrome.
72
- # config.html5 = true
147
+ # Collection of methods to detect if a file type was given.
148
+ # config.file_methods = [ :mounted_as, :file?, :public_filename ]
73
149
 
74
150
  # Custom mappings for input types. This should be a hash containing a regexp
75
151
  # to match as key, and the input type that will be used when the field name
76
152
  # matches the regexp as value.
77
153
  # config.input_mappings = { /count/ => :integer }
78
154
 
79
- # Collection of methods to detect if a file type was given.
80
- # config.file_methods = [ :mounted_as, :file?, :public_filename ]
81
-
82
155
  # Default priority for time_zone inputs.
83
156
  # config.time_zone_priority = nil
84
157
 
@@ -88,7 +161,12 @@ SimpleForm.setup do |config|
88
161
  # Default size for text inputs.
89
162
  # config.default_input_size = 50
90
163
 
91
- # When false, do not use translations for labels, hints or placeholders.
92
- # config.translate = true
93
- end
164
+ # When false, do not use translations for labels.
165
+ # config.translate_labels = true
94
166
 
167
+ # Automatically discover new inputs in Rails' autoload path.
168
+ # config.inputs_discovery = true
169
+
170
+ # Cache simple form inputs discovery
171
+ # config.cache_discovery = !Rails.env.development?
172
+ end
@@ -0,0 +1,24 @@
1
+ en:
2
+ simple_form:
3
+ "yes": 'Yes'
4
+ "no": 'No'
5
+ required:
6
+ text: 'required'
7
+ mark: '*'
8
+ # You can uncomment the line below if you need to overwrite the whole required html.
9
+ # When using html, text and mark won't be used.
10
+ # html: '<abbr title="required">*</abbr>'
11
+ error_notification:
12
+ default_message: "Some errors were found, please take a look:"
13
+ # Labels and hints examples
14
+ # labels:
15
+ # password: 'Password'
16
+ # user:
17
+ # new:
18
+ # email: 'E-mail para efetuar o sign in.'
19
+ # edit:
20
+ # email: 'E-mail.'
21
+ # hints:
22
+ # username: 'User name to sign in.'
23
+ # password: 'No special characters, please.'
24
+
@@ -1,7 +1,8 @@
1
1
  <%%= form_for(@<%= singular_table_name %>) do |f| %>
2
2
  <%% if @<%= singular_table_name %>.errors.any? %>
3
- <div class="alert-message block-message error">
4
- <p><%%= pluralize(@<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</p>
3
+ <div class="alert alert-error">
4
+ <a class="close" data-dismiss="alert" href="#">×</a>
5
+ <h4 class="alert-heading"><%%= pluralize(@<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</h4>
5
6
 
6
7
  <ul>
7
8
  <%% @<%= singular_table_name %>.errors.full_messages.each do |msg| %>
@@ -12,14 +13,14 @@
12
13
  <%% end %>
13
14
 
14
15
  <% attributes.each do |attribute| -%>
15
- <div class="clearfix">
16
- <%%= f.label :<%= attribute.name %> %>
17
- <div class="input">
18
- <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
16
+ <div class="control-group">
17
+ <%%= f.label :<%= attribute.name %>, :class => "control-label" %>
18
+ <div class="controls">
19
+ <%%= f.<%= attribute.field_type %> :<%= attribute.name %>, :class => "input-xxlarge" %>
19
20
  </div>
20
21
  </div>
21
22
  <% end -%>
22
- <div class="actions">
23
- <%%= f.submit %>
23
+ <div class="form-actions">
24
+ <%%= f.submit, :class => "btn btn-primary" %>
24
25
  </div>
25
26
  <%% end %>
@@ -1,17 +1,18 @@
1
1
  = form_for @<%= singular_table_name %> do |f|
2
2
  -if @<%= singular_table_name %>.errors.any?
3
- .alert-message.block-message.error
4
- %p= "#{pluralize(@<%= singular_table_name %>.errors.count, "error")} prohibited this <%= singular_table_name %> from being saved:"
3
+ .alert.alert-error
4
+ %a.close{:href => "#", :"data-dismiss" => "alert"} ×
5
+ %h4= "#{pluralize(@<%= singular_table_name %>.errors.count, "error")} prohibited this <%= singular_table_name %> from being saved:"
5
6
 
6
7
  %ul
7
8
  - @<%= singular_table_name %>.errors.full_messages.each do |msg|
8
9
  %li= msg
9
10
 
10
11
  <% for attribute in attributes -%>
11
- .clearfix
12
- = f.label :<%= attribute.name %>
13
- .input
14
- = f.<%= attribute.field_type %> :<%= attribute.name %>
12
+ .control-group
13
+ = f.label :<%= attribute.name %>, :class => 'control-label'
14
+ .controls
15
+ = f.<%= attribute.field_type %> :<%= attribute.name %>, :class => 'input-xxlarge'
15
16
  <% end -%>
16
17
  .actions
17
- = f.submit :class => 'btn primary'
18
+ = f.submit :class => 'btn btn-primary'