Ruby on Rails 3 Выберите вспомогательный вопрос - PullRequest
2 голосов
/ 30 сентября 2010

Имейте эту строку кода в моей форме, когда я создаю новый элемент. Хотя, когда я редактирую элемент, выбор по умолчанию не тот, который выбран. Нужно ли устанавливать начальное значение?

<%= f.select :category, options_for_select(Item::CATEGORIES) %>

1 Ответ

3 голосов
/ 30 сентября 2010

options_for_select принимает второй параметр, который идентифицирует выбранное значение.

try

<%= f.collection_select :category_id, Item::CATEGORIES, :downcase, :titleize %>

Предполагается, что ваш Item::CATEGORIES дает массив строк категорий.

для каждой категории в Item::CATEGORIES, category.downcase будет использоваться в качестве значения опции, а category.titleize будет использоваться в качестве текста опции.

т.е..

<option value="<%= cate.downcase %>"><%= cate.titleize %></option>

======

или вы могли бы:

<%= f.select :category, options_for_select(Item::CATEGORIES, @cur_obj.category.id) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...