better_form 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/better_form/builder.rb +7 -6
- data/lib/better_form/version.rb +1 -1
- metadata +1 -1
data/lib/better_form/builder.rb
CHANGED
@@ -3,8 +3,8 @@ module BetterForm
|
|
3
3
|
include ActionView::Helpers::UrlHelper
|
4
4
|
|
5
5
|
helpers = field_helpers + %w(date_select datetime_select time_select collection_select select time_zone_select) - %w(label hidden_field fields_for)
|
6
|
-
helpers.each do |
|
7
|
-
define_method(
|
6
|
+
helpers.each do |field_type|
|
7
|
+
define_method(field_type) do |field_name, *args|
|
8
8
|
options = args.extract_options!
|
9
9
|
validations = generate_validations(@object, field_name)
|
10
10
|
options.merge!(validations)
|
@@ -12,11 +12,11 @@ module BetterForm
|
|
12
12
|
if label == false
|
13
13
|
super(field_name, *(args << options))
|
14
14
|
elsif label
|
15
|
-
generate_label(field_name, label) + super(field_name, *(args << options))
|
15
|
+
generate_label(field_type, field_name, label) + super(field_name, *(args << options))
|
16
16
|
elsif @template.label_all? == false
|
17
17
|
super(field_name, *(args << options))
|
18
18
|
else
|
19
|
-
generate_label(field_name, label) + super(field_name, *(args << options))
|
19
|
+
generate_label(field_type, field_name, label) + super(field_name, *(args << options))
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -32,14 +32,15 @@ module BetterForm
|
|
32
32
|
end
|
33
33
|
|
34
34
|
private
|
35
|
-
def generate_label(method, label)
|
35
|
+
def generate_label(field_type, method, label)
|
36
36
|
if label == true
|
37
37
|
label_text = method.to_s.gsub(/_/, ' ').capitalize
|
38
38
|
else
|
39
39
|
label_text = label.to_s
|
40
40
|
end
|
41
41
|
|
42
|
-
|
42
|
+
options = { :class => :inline } if %w(check_box radio_button).include?(field_type)
|
43
|
+
label(method, label_text, options ||= {})
|
43
44
|
end
|
44
45
|
|
45
46
|
def generate_validations(object, attribute)
|
data/lib/better_form/version.rb
CHANGED