Странная country_options_for_select в Rails - PullRequest
0 голосов
/ 15 октября 2010

У меня в настоящее время есть мой index.html.erb, показывающий следующий код.

<select name="country">  
<option>All</option>
<%= country_options_for_select('All') %>
</select>

Но результат на странице выглядит следующим образом в источнике html:

<select name="country">  
<option>All</option>
&lt;optionvalue=&quot;Afghanistan&quot;&gt;Afghanistan&lt;/option&gt;&lt;optionvalue=&quot;Aland
Islands&quot;&gt;AlandIslands&lt;/option&gt; ... 
</select>

Этодолжно быть вместо

Что я сделал не так?

Ответы [ 2 ]

1 голос
/ 28 октября 2011

В Rails 2.3.14 до Rails 3.1.0 это работает:

<%= country_options_for_select.html_safe %>
1 голос
/ 16 октября 2010

Попробуйте вместо этого использовать select_tag. Это выглядит немного чище.

<%= select_tag "name", country_options_for_select() %>

Причина, по которой параметры страны отображаются некорректно, заключается в том, что вы передаете «Все». Это не нуждается в аргументе там в вашем случае. Только если вы хотите, чтобы по умолчанию была выбрана определенная опция.

Например,

<%= select_tag "name", country_options_for_select('Chile') %>

Больше информации о его использовании здесь: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/country_options_for_select

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...