Как задать значение в форме

#ruby-on-rails #ruby

#ruby-on-rails #ruby

Вопрос:

Я не могу установить атрибут в моем модельном проекте.

Мой код:

 <div class="field">
<%= f.label :eval %><br>

<% f.collection_select( :eval_was, User.all, :id, :nombre , {:prompt => "Please Select a Eval"}, {:multiple => true}) %>
</div>
  

и eval не сохраняется в базе данных.

eval является целым числом.

Кто-нибудь знает, как это решить, или у кого-нибудь была такая же проблема?

Комментарии:

1. Я не обращался к коду, чтобы проверить это, но я подозреваю, что проблема в том, что вы назвали свой атрибут ‘eval’. В Ruby eval это модульный метод Kernel модуля, который включен в Object , поэтому у каждого объекта в Ruby уже есть (частный) метод с именем ‘eval’. Rails создает методы, названные в честь ваших атрибутов, но я не верю, что это переопределяет методы, которые уже существуют. Я оставляю это как комментарий, а не ответ, потому что на данный момент я не в состоянии проверить свои подозрения.

Ответ №1:

Ваша коллекция выбирается для поля eval_was вместо eval .

Попробуйте это вместо:

<% f.collection_select( :eval, User.all, :id, :nombre , {:prompt => "Please Select a Eval"}, {:multiple => true}) %>