【发布时间】:2017-05-20 18:07:25
【问题描述】:
我有一个辅助方法,可以根据传递的参数插入表单字段:
def show_json_options(form, algorithm_options)
algorithm_options.each do |o|
concat content_tag :h5, o.name
case o.selector_type
when 'input'
concat form.input o.input_name, input_html: { value: o.json_body[o.input_name] }
when 'checkbox'
concat form.input o.input_name, as: :boolean, label: o&.json_body['options']['name']
when 'multiple_checkboxes'
concat form.collection_check_boxes(o.input_name, get_multiple_options(o.json_body['options']), :first, :last)
when 'radio_buttons'
concat form.collection_radio_buttons(o.input_name, get_multiple_options(o.json_body['options']), :first, :last)
else
raise Exception.new('Unknown input.')
end
end
end
没问题。但是,我想根据文档使用块扩展 collection_radio_buttons 的功能,例如:
<%= f.collection_radio_buttons :realm, [['External','External'], ['Internal','Internal']], :first, :last do |b| %>
<%- b.label(class: "form-control") { b.radio_button(class: "form-control") } %>
<% end %>
如何将这三行传递到我的辅助方法中?我试过使用 concat 多行,显然没有成功。
【问题讨论】:
标签: ruby-on-rails ruby simple-form