Rails FormHelper每个收音机和标签

时间:2017-08-12 21:40:17

标签: ruby-on-rails formhelper

我正在使用rails 5.1.2和ruby 2.2.6。我正在尝试在集合上编写each循环,并在erb视图中为其生成一个rabio按钮和相应的标签。到目前为止,我得出了令人不满意的结果:

<% @idea.discussions.each do |discussion| %>
  <%= radio_button_tag :discussion, discussion.id %>
  <%= label_tag "discussion_" + discussion.id.to_s, discussion.title %>
<% end %>

这为集合的一个元素生成以下HTML:

<input name="discussion" id="discussion_3" value="3" type="radio">
<label for="discussion_3">Main discussion</label>

我不满意的是label_tag的第一段,因为我手动构建了for标记的label属性的值。 rails的方法是什么?

1 个答案:

答案 0 :(得分:1)

你也可以尝试:

<% @idea.discussions.each do |discussion| %>
  <label for="discussion-<%= discussion.id%>">
    <span><%= discussion.title %></span>
    <%= radio_button_tag "discussions[discussion_id]", discussion.id, false, { id: "discussion-#{discussion.id}"} %>
  </label>
<% end %>