のような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'] 配列は固定されており、ユーザーは必要な数のスパンを表示することを選択できます。
どうすればこの問題を解決できますか?