背景:帖子有很多社区。在我的新帖子表单上,我有一个使用 Select2 选择社区的多选框。
在没有Select2的情况下选择社区时,我会得到这些参数,一切正常:
...{"community_ids"=>["","1"]},...
使用 Select2 选择社区时,我得到:
...{"community_ids"=>["[],1"]},...
这会引发Couldn't find Community with id=0
错误。我将其范围缩小到与强参数的工作方式有关。我猜 Rails 正试图找到一个 ID 为“[]”的社区?这是在我的 PostsController 中:
def post_params
params[:post].permit(:post_field1, :post_field2, { :community_ids => [] })
end
有任何想法吗?