ПРЕДПОСЫЛКИ: В сообщениях есть много сообществ. В моей новой форме сообщения у меня есть множественный флажок для выбора сообществ с помощью Select2.Select2 + Rails 4/Сильные параметры
При выборе сообщества без выбор2, я получаю этот Params, и все работает нормально:
...{"community_ids"=>["","1"]},...
При выборе сообщества выбор2 я получаю:
...{"community_ids"=>["[],1"]},...
, который бросает ошибку Couldn't find Community with id=0
. Я сузил его, чтобы иметь какое-то отношение к тому, как работают сильные параметры. Я предполагаю, что Rails пытается найти сообщество с идентификатором «[]»? Это в моих сообщениях:
def post_params
params[:post].permit(:post_field1, :post_field2, { :community_ids => [] })
end
Любые идеи?
Какие рельсы занимают входные данные ("[], 1") и вызывают на нем 'to_i' (целое число). Таким образом, вы получаете '' [], 1 ".to_i # => 0'. Вам нужно как-то разбить ["[], 1"] на ["[]", "1"] – jokklan
Какую версию Select2 вы используете? Кроме того, можете ли вы разместить свой код JavaScript? – georgebrock
@jokklan, вы должны отправить этот комментарий в качестве ответа. – pjmorse