blob: 893f4411e7fd6d94caeaadbf91813d6a9a7de879 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
require 'action_view/helpers/tags/collection_helpers'
module ActionView
module Helpers
module Tags
class CollectionRadioButtons < Base
include CollectionHelpers
class RadioButtonBuilder < Builder
def radio_button(extra_html_options={})
html_options = extra_html_options.merge(@input_html_options)
@template_object.radio_button(@object_name, @method_name, @value, html_options)
end
end
def render(&block)
render_collection do |item, value, text, default_html_options|
builder = instantiate_builder(RadioButtonBuilder, item, value, text, default_html_options)
if block_given?
@template_object.capture(builder, &block)
else
render_component(builder)
end
end
end
private
def render_component(builder)
builder.radio_button + builder.label
end
end
end
end
end
|