Rails4 の has_many 時に Strong Parameters はまる
Rails 4 で、has_many のアソシエーション(多対多)が設定してあるときに、関連するモデルの保存できませんでした。 なんで?と思い調べてみました。Strong Parameters が怪しいかなあ?とは思っていたのですが、設定したのに動かない。
最初に設定した方法
def plan_params params.require(:plan).permit(:name, foo_ids) end
やってみると...
Unpermitted parameters: foo_ids
エラーが出てる。無許可? 調べてみると、どうも、配列の場合は空の配列を設定するらしい
配列に対応した Strong Parameters の設定
def plan_params params.require(:plan).permit(:name, foo_ids: []) end
対応できました。