Ruby on Rails 3 Выберите вопрос помощника

77
7

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


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

спросил(а) 2021-01-19T14:52:20+03:00 6 месяцев назад
1
Решение
89

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


попробовать


<%= 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) %>

ответил(а) 2021-01-19T14:52:20+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема