0

背景:帖子有很多社區。在我的新帖子表單中,我有一個多選框用於使用Select2選擇社區。Select2 +導軌4 /強參數

當沒有選擇二選擇一個社區,我得到這些參數,可以和一切工作確定:

...{"community_ids"=>["","1"]},... 

當選擇一個社區,選擇二,我得到:

...{"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 

任何想法?

+1

什麼軌道正在做輸入(「[],1」),並調用它(以整數)「to_i」。所以你得到''[],1「.to_i#=> 0'。你需要將[「[],1」]分成[「[]」,「1」] – jokklan

+0

你使用的是什麼版本的Select2?另外,你可以發佈你的JavaScript代碼嗎? – georgebrock

+0

@jokklan你應該發表評論作爲答案。 – pjmorse

回答

0

什麼軌正在做的是採取輸入("[],1")和調用to_i(整數)。所以,你得到

"[],1".to_i #=> 0

你會以某種方式需要["[],1"]分成["[]","1"]