Rails。使用 Form Helpers 或 Simple_form 将单选按钮集合拆分为列
Rails. Splitting a radio button collection into columns with Form Helpers or Simple_form
我有以下使用 Simple_form gem 的表格:
<%= simple_form_for @match_prediction do |f| %>
<%= f.input :outcome, label: false, as: :radio_buttons, collection: [['local', match.local_team], ['Tie', 'Tie'], ['visit', match.visiting_team]], label_method: :second, value_method: :first %>
<%= f.submit 'Save' %>
<% end %>
目前它按预期工作,这意味着:呈现 3 个单选按钮,彼此互斥,每个都会产生一个唯一的字符串传递给服务器。
问题:我想在 Bootstrap 网格中的不同列中分隔每个单选按钮,如下所示:
<div class="row prediction">
<div class="col-sm-4">
<!-- FIRST RADIO BUTTON HERE -->
</div>
<div class="col-sm-4">
<!-- SECOND RADIO BUTTON HERE -->
</div>
<div class="col-sm-4">
<!-- THIRD RADIO BUTTON HERE -->
</div>
<%= f.submit 'Save' %>
</div>
由于整个集合是在表单代码中的一行中指定的,我不能简单地拆分行并将它们插入相关的 HTML。
有没有办法通过 simple_form 或香草 rails 表单助手来实现此目的?
我考虑过将收音机拆分为单独的表单输入,但这将允许一次 select 多个选项。我很感激你的帮助。
您不能使用 simple_form 形式的标准 rails 助手吗?直接使用 radio_button
助手怎么样? Docs
<div class="row prediction">
<div class="col-sm-4">
<%= radio_button 'match_prediction', 'outcome', 'local', checked: @match_prediction.outcome == 'local' %> <%= match.local_team %>
</div>
<div class="col-sm-4">
<%= radio_button 'match_prediction', 'outcome', 'Tie', checked: @match_prediction.outcome == 'Tie' %> <%= 'Tie' %>
</div>
<div class="col-sm-4">
<%= radio_button 'match_prediction', 'outcome', 'visit', checked: @match_prediction.outcome == 'visit' %> <%= match.visiting_team %>
</div>
<%= f.submit 'Save' %>
</div>
如果可以在 simple_form 中访问标准 FormHelper,您可以调用:
<%= f.radio_button 'outcome', 'xzy' %> <%= 'whatever' %>
我有以下使用 Simple_form gem 的表格:
<%= simple_form_for @match_prediction do |f| %>
<%= f.input :outcome, label: false, as: :radio_buttons, collection: [['local', match.local_team], ['Tie', 'Tie'], ['visit', match.visiting_team]], label_method: :second, value_method: :first %>
<%= f.submit 'Save' %>
<% end %>
目前它按预期工作,这意味着:呈现 3 个单选按钮,彼此互斥,每个都会产生一个唯一的字符串传递给服务器。
问题:我想在 Bootstrap 网格中的不同列中分隔每个单选按钮,如下所示:
<div class="row prediction">
<div class="col-sm-4">
<!-- FIRST RADIO BUTTON HERE -->
</div>
<div class="col-sm-4">
<!-- SECOND RADIO BUTTON HERE -->
</div>
<div class="col-sm-4">
<!-- THIRD RADIO BUTTON HERE -->
</div>
<%= f.submit 'Save' %>
</div>
由于整个集合是在表单代码中的一行中指定的,我不能简单地拆分行并将它们插入相关的 HTML。
有没有办法通过 simple_form 或香草 rails 表单助手来实现此目的?
我考虑过将收音机拆分为单独的表单输入,但这将允许一次 select 多个选项。我很感激你的帮助。
您不能使用 simple_form 形式的标准 rails 助手吗?直接使用 radio_button
助手怎么样? Docs
<div class="row prediction">
<div class="col-sm-4">
<%= radio_button 'match_prediction', 'outcome', 'local', checked: @match_prediction.outcome == 'local' %> <%= match.local_team %>
</div>
<div class="col-sm-4">
<%= radio_button 'match_prediction', 'outcome', 'Tie', checked: @match_prediction.outcome == 'Tie' %> <%= 'Tie' %>
</div>
<div class="col-sm-4">
<%= radio_button 'match_prediction', 'outcome', 'visit', checked: @match_prediction.outcome == 'visit' %> <%= match.visiting_team %>
</div>
<%= f.submit 'Save' %>
</div>
如果可以在 simple_form 中访问标准 FormHelper,您可以调用:
<%= f.radio_button 'outcome', 'xzy' %> <%= 'whatever' %>