Ничего не устанавливая в Rails 'collection_select - PullRequest
0 голосов
/ 05 февраля 2010

У меня есть веб-приложение на Rails 2.3, которое использует помощник collection_select с: multiple => true для обработки отношения habtm. Это работает нормально, чтобы установить одно или несколько значений, однако я не понял, как разрешить УДАЛИТЬ все выборы.

Код:

<%= f.collection_select :category_ids, Category.find(:all), :id, :name, 
    { :selected => @entry.category_ids },
    { :multiple => true, :name => 'entry[category_ids][]' }
%>

Как только пользователь установит категорию для записи, как бы я мог разрешить ее удаление, чтобы эта запись не имела категории? Это возможно с collection_select или мне нужно добавить флажок, чтобы обрабатывать это специально?

P.S: Я уже пробовал с: prompt,: include_blank и: allow_blank, но, насколько я мог видеть, ни один из них ничего не сделал.

1 Ответ

0 голосов
/ 05 февраля 2010

В действии обновления вашего контроллера введите следующую строку:

params[:entry][:category_ids] ||= []

перед звонком на Entry.find.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...