Rails 简单形式 Radio_buttons: 如何为不同的无线电输入添加不同的 class
Rails Simple Form Radio_buttons: How to add different class for diffent radio input
我在Rails中使用simple_form,我想为不同的收音机输入添加不同的class。我做了一些搜索,但没有成功。
这是一个例子:
观看次数
<%= f.label "Gift Pack?" %><br>
<%= f.input :gift_pack, as: :radio_buttons,
:collection => [[true, 'Gift Pack'], [false, 'Original Pack']],
label: false,
:label_method => :last,
:value_method => :first,
:input_html => { :class => 'gift_pack gift_pack_yes' } %>
生成HTML
<input class="radio_buttons optional gift_pack gift_pack_yes" type="radio" value="true" name="book[gift_pack]" id="book_gift_pack_true"> Gift Pack
<input class="radio_buttons optional gift_pack gift_pack_yes" type="radio" value="false" name="book[gift_pack]" id="book_gift_pack_false"> Original Pack -->
想要
如何使第二个输入的 class 是 radio_buttons optional gift_pack gift_pack_no
,注意最后一个 class 是 gift_pack_no
.
谢谢。
首先创建新的视图助手
帮手
def gift_radio_class(val)
val ? "gift_pack_yes" : " gift_pack_no"
end
在你的 erb 中你必须调用上面的助手
erb
<%=f.collection_radio_buttons(:gift_val, [[true, 'Gift Pack'], [false, 'Original Pack']], :first,:second) do |b|%>
<%b.label{ b.radio_button(class: gift_radio_class(b.value)) + b.text }%>
<%end %>
我们可以通过视图辅助函数 gift_radio_class
根据复选框的布尔值检索 class 名称
如果您需要更多自定义解决方案,请查看文档 http://www.rubydoc.info/github/plataformatec/simple_form/SimpleForm/FormBuilder:collection_radio_buttons
我在Rails中使用simple_form,我想为不同的收音机输入添加不同的class。我做了一些搜索,但没有成功。
这是一个例子:
观看次数
<%= f.label "Gift Pack?" %><br>
<%= f.input :gift_pack, as: :radio_buttons,
:collection => [[true, 'Gift Pack'], [false, 'Original Pack']],
label: false,
:label_method => :last,
:value_method => :first,
:input_html => { :class => 'gift_pack gift_pack_yes' } %>
生成HTML
<input class="radio_buttons optional gift_pack gift_pack_yes" type="radio" value="true" name="book[gift_pack]" id="book_gift_pack_true"> Gift Pack
<input class="radio_buttons optional gift_pack gift_pack_yes" type="radio" value="false" name="book[gift_pack]" id="book_gift_pack_false"> Original Pack -->
想要
如何使第二个输入的 class 是 radio_buttons optional gift_pack gift_pack_no
,注意最后一个 class 是 gift_pack_no
.
谢谢。
首先创建新的视图助手
帮手
def gift_radio_class(val)
val ? "gift_pack_yes" : " gift_pack_no"
end
在你的 erb 中你必须调用上面的助手
erb
<%=f.collection_radio_buttons(:gift_val, [[true, 'Gift Pack'], [false, 'Original Pack']], :first,:second) do |b|%>
<%b.label{ b.radio_button(class: gift_radio_class(b.value)) + b.text }%>
<%end %>
我们可以通过视图辅助函数 gift_radio_class
如果您需要更多自定义解决方案,请查看文档 http://www.rubydoc.info/github/plataformatec/simple_form/SimpleForm/FormBuilder:collection_radio_buttons