我想生成像这样的html,
<label for='field'>
Label Text
<span class='span1'> Some Text 1 </span>
<span class='span2'> Some Text 2 </span>
...
</label>
我想要一个助手,例如,
label_for 'field', :label => 'Label Text', :type1 => 'Some Text 1', :type2 => 'Some Text 2'
为此,我尝试做类似的事情,
content_tag(:label, opts[:label], :for => field_name) do
['span1', 'span2'].map { |i|
content_tag(:span, opts[i], :class => i) if opts[i] }.compact.joins('+').html_safe
}
end
但这不起作用(当然)。
['span1', 'span2'] 数组是固定的,用户可以根据需要选择显示尽可能多的跨度。
我怎么解决这个问题?