Мне не нравится предполагать, что значение пусто, если атрибут не опубликован. Это нарушает то, как Rails ожидает обновления атрибутов, и может создавать проблемы, если вы используете действия контроллера также для API, а также для HTML. Мой предпочтительный способ справиться с этим - добавить скрытое поле ввода перед множественным выбором.
<input type="hidden" value="" name="parent_model[my_attribute_ids][]">
Если вы используете JQuery, вы можете автоматизировать добавление этих скрытых полей ввода:
$('select[multiple="multiple"]').each(function(i){
$(this).before('<input type="hidden" name="'+this.name+'" value="" />')
});
Я понимаю, что этот ответ не очень своевременен, но я надеюсь, что это поможет кому-то с похожим вопросом.