我在这里做错了什么:
def radio_button(label, *args)
options = args.extract_options!
collection = options[:collection]
options.delete :collection
# put back into args to pass to super
args << options
collection.each do |item|
label(label, class: "radio-inline") do
super(label, item, *args) do
item.to_s.humanize
end
end
end
end
我用
调用它= f.radio_button :receiving_treatment, collection: ["yes", "no"], required: true
它只输出[&#34;是&#34;,&#34;没有&#34;]
答案 0 :(得分:0)
以下是我如何解决它。我找到了新方法collection_radio_buttons并用它来构建我的formbuilder方法。
现在我正在打电话:
= f.yes_no_radio_buttons :receiving_treatment, required: true
我的formbuilder有:
def yes_no_radio_buttons(method, *args)
collection_radio_buttons(method, ["yes", "no"], :to_s, "humanize", *args)
end
def collection_radio_buttons(method, collection, value_method, text_method, *args)
super(method, collection, value_method, text_method, *args) do |b|
b.label(class: "radio-inline") { b.radio_button(*args) + b.text }
end
end