在simple_form自定义包装器中,您是否可以生成没有包装器及其相应标签的输入字段?
目前,我的自定义包装器如下所示:
config.wrappers :category_tab, tag: "ul", class: "inline-list" do |ul|
ul.use :html5
ul.wrapper tag: "li" do |li|
li.wrapper tag: "label", class: "faux-tab" do |label|
label.use :input, label: false
label.use :label_text, wrap_with: { tag: "span", class: "label-text" }
end
end
end
我正在尝试输出
下面的HTML结构<ul>
<li>
<label>
<input type="radio"></input>
<span></span>
</label>
</li>
</ul>
目前的输出是:
<ul class="inline-list radio_buttons optional search_category">
<li>
<label class="faux-tab">
<span class="radio">
<input checked="checked" class="radio_buttons optional" id="search_category_" name="search[category]" type="radio" value="">
<label class="collection_radio_buttons" for="search_category_">All</label>
</span>
<span class="label-text">Category</span>
</label>
</li>
</ul>
答案 0 :(得分:1)
这是simple_form.rb
中的配置。找到这一行,并确保boolean_style
的值为:inline
。
# Define the way to render check boxes / radio buttons with labels.
# Defaults to :nested for bootstrap config.
# inline: input + label
# nested: label > input
config.boolean_style = :inline
答案 1 :(得分:0)
以下代码可能会产生您期望的HTML:
config.wrappers :category_tab, tag: "ul" do |ul|
ul.use :html5
ul.wrapper tag: "li" do |li|
li.wrapper tag: "label" do |label|
label.use :input, label: false
end
end
end