2015-10-26 2 views
0

Как я могу достичь нижнего радиоблока в html с помощью рельсов? У меня есть поле гостей в моей базе данных где сохраняется выбранное значение переключателя.конвертировать html-код radobutton с помощью рельсов-помощников

<div class="segmented-control" style="width: 100%; color: #5FBAAC"> 
      <input type="radio" name="guests" id="1"> 
      <input type="radio" name="guests" id="2"> 
      <input type="radio" name="guests" id="3"> 
      <input type="radio" name="guests" id="4"> 
      <input type="radio" name="guests" id="5"> 
      <input type="radio" name="guests" id="6"> 

      <label for="1" data-value="1">1</label> 
      <label for="2" data-value="2">2</label> 
      <label for="3" data-value="3">3</label> 
      <label for="4" data-value="4">4</label> 
      <label for="5" data-value="5">5</label> 
      <label for="6" data-value="6+">6</label> 
</div> 

Я попытался с помощью

<%= f.select :guests, [["1","1"], ["2","2"], ["3","3"], ["4","4"], 
["5","5"],["6","6"]], id: "guests", class: "form-control" %> 

Но не работает

ответ

1

Существует вспомогательный метод называется options_for_select, который преобразует массив массивов в выбранные параметры ввода.

<%= f.select :guests, options_for_select([["1","1"],["2","2"],["3","3"],["4","4"], 
["5","5"],["6","6"]]), id: "guests", class: "form-control" %> 

документация: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_for_select

+0

Это работает, но я искал то же самое в радиокнопках – Abhilash

+0

Посмотрите на 'collection_radio_buttons' метода внутри документации я связан. Это должно быть то, о чем вы просите. – Caillou

0

Я думаю, что он возвращает то, что вы хотите:

<%1.upto(6) do |n|%> 
    <%= radio_button_tag :guests, "#{n}",nil, id: "#{n}" %> 
<%end%> 

<%1.upto(6) do |n|%> 
    <%= label_tag("#{n}", "#{n}", "data-tag"=>"#{n}") %> 
<%end%> 
Смежные вопросы