2012-02-13 6 views
5

У меня есть это выбор, который прекрасно работает, но по умолчанию избранных пуст и не показывает выбранное значение (которое заполняется правильно):Выбранная опция не работает для выбора

<%= f.select(:relationgroup, options_for_select(@relationgroups), { :selected => @relation.relationgroup, :include_blank => true}) %> 

Любая идея, почему? Благодаря!

ответ

6

Попробуйте это таким образом:

<%= f.select(
     :relationgroup, 
     options_for_select(@relationgroups, @relation.relationgroup), 
     :include_blank => true 
) %> 

Не уверен, но, возможно, он будет работать лучше.

Во всяком случае, если предположить, Relationgroup некоторая модель с id и name (или любой другой атрибут, который вы хотите, чтобы быть видимым в некоторых вариантах) атрибуты, и вы используете по умолчанию relationgroup_id внешнего ключа в вашей модели вы бы лучше построить свой выбрать так:

<% f.select(
     :relationgroup_id, 
     options_from_collection_for_select(@relationgroups, :id, :name), 
     :include_blank => true 
) %> 

это будет выбрать выбранное значение, основанное на object.relationgroup_id где object является модель вы создаете форму для. См. docs для получения дополнительной информации.

+0

Спасибо, это сработало! – John

+0

Ницца, но какой? –

+0

Первый, потому что это поле строки, никаких идентификаторов. – John

Смежные вопросы