Вопрос

Я имею странную проблему с коллекцией_Велект, я использую в представлении редактирования профиля в моем приложении 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 исправит проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top