collection_select не позволяет ActiveRecord обновлять свою коллекцию, когда ни один из параметров не выбран - PullRequest
1 голос
/ 14 июля 2010

У меня есть связь между двумя моделями has_and_belongs_to_many.

Я использовал collection_select для представления другой модели в этой ассоциации в форме.Когда я попытался отменить выбор параметров в collection_select, collection_select не публикует свое пустое значение и, таким образом, не позволяет ActiveRecord передавать какие-либо условия обновления в базу данных.

например, параметры похожи;Когда выбранные понятия;Параметры: {"name_of_model" => {"name" => "de2", "other_model_ids" => ["1", "3"]}

Когда ничего не выбрано;Параметры: {"name_of_model" => {"name" => "de2"}

Кто-нибудь знает обходной путь для этого?

1 Ответ

1 голос
/ 14 июля 2010

Необходимо установить параметр other_model_ids как пустой массив, если он не передан действию контроллера:

params[:name_of_model][:other_model_ids] ||= []

Это обеспечит, что при отсутствии выбора модель будетобновлен правильно, так что у него нет связанных идентификаторов модели.

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