выбрать опцию тег в ROR? - PullRequest
1 голос
/ 25 ноября 2011

Я новичок в Ror.

опция выбора метки в рельсах

<%= select_tag(:city_id, '<option value="1">Lisbon</option>,<option value="2">Madrid</option>' %>

производит этот HTML:

<select id="city_id" name="city_id">
    <option value="1">Lisbon</option>
<option value="2">hjkLisbon</option>
</select>

и опция выбора тега

<%= select_tag(:city_id, options_for_select([['Lisbon', 1], ['Madrid', 2]])) %>

производит этот HTML:

<select id="city_id" name="city_id">
<option value="1">Lisbon</option>
<option value="2">Madrid</option>
</select>

для второго тега выбора я получаю выпадающий список с параметрами, но в первом я не получаю его, в первом есть только выпадающий список, но вариантов нет Кто-нибудь, пожалуйста, объясните мне, почему это так?

Ответы [ 3 ]

2 голосов
/ 25 ноября 2011

Если у вас есть только эти два города, вы можете использовать обычный HTML

<select id="city_id" name="city_id">
<option value="1">Lisbon</option>
<option value="2">Madrid</option>
</select>

Если вы выбираете города из базы данных, вы можете сделать

select_tag ‘city_id’, options_for_select(@cities.collect{ |u| [u.name, u.id] })

Это будет генерировать что-то вроде:

<select id="city_id" name="city_id">
  <option value="1">Lisbon</option>
  <option value="2">Madrid</option>
</select>

Не бойтесь использовать html. Самое простое решение - лучшее решение.

0 голосов
/ 01 июня 2015

, если вы действительно хотите выбрать название страны на странице редактирования, тогда ..

<%= f.select :country, (country_name), :selected => @model.country %>

Где country_name - метод в помощнике.

0 голосов
/ 25 ноября 2011

Ref this

Изменить

<%= select_tag(:city_id, '<option value="1">Lisbon</option>,<option value="2">Madrid</option>' %>

на

<%= select_tag(:city_id, '<option value="1">Lisbon</option>,<option value="2">Madrid</option>') %>

Вы не закрываете тег выбора, т. Е. ) отсутствует

...