Collection_Select значение по умолчанию не установлено
-
28-09-2019 - |
Вопрос
Я имею странную проблему с коллекцией_Велект, я использую в представлении редактирования профиля в моем приложении Rails. База данных обновляется с правильным значением, однако значение по умолчанию не выбрано для поле выбора, когда пользователь идет, чтобы отредактировать свой профиль. Я не могу получить: quick_blank => true или a: prompt => true для работы.
Вот код
Редактировать вид:
<%= render :partial => 'player_form' %>
_player_form partial:
<% form_for @user do |f| %>
<p>
<%= f.label :course_id %><br / >
<%= f.collection_select(:course_id, Course.all, :id, :name, {:prompt => "No Home Course"}) %>
</p>
<% end %>
Сгенерированный HTML:
<p>
<label for="user_course_id">Course</label><br / >
<select id="user_course_id" name="user[course_id]">
<option value="1">Bedford Springs</option>
<option value="2">Down River</option>
<option value="3">King Valley </option>
<option value="4">Test</option></select>
</p>
Потому что я использую Cancan для авторизации, у меня есть пустое редактирование действий в моем контроллере, поскольку Cancan автоматически инициализирует
@user = User.find(params[:id])
Я пытался добавить эту линию для редактирования, и она ничего не влияет. Также самая странная вещь по этому вопросу состоит в том, что все другие поля в форме редактирования частичные заполнены правильными значениями тока из базы данных. Кроме того, таблица пользователей имеет столбец CURRE_ID, который является внешним ключом для таблицы курсов, и я проверил связь в консоли, и она возвращает правильный курс. Ассоциации установлены правильно, потому что у меня есть, я считаю, что у меня проблема с синтаксисом моей коллекции_Велект, но я не уверен, что это такое.
Я ценю любую помощь.
Спасибо.
Решение
У меня был Cude_ID, установленный в качестве Varchar вместо INT в базе данных по одной причине или иной. Изменение его тоже int исправит проблему.