#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}) %>