CreateとUpdateでで使用するStrong Parametersの中身を柔軟に変更するテクニックを教えてください。
たとえば、、
外部キーparent_idをもっているモデルfooがあります。
Createのとき外部キーは入力フォームのhiddenで送られてきてStrong Parametersのfoo_paramsで受け取っています。
rails
1def create 2 foo.build(foo_params).save 3end 4 5def update 6 foo.update_attributes(foo_params) 7end 8 9def foo_params 10 params.require(:foo).permit(:parent_id, :name, :comment) 11end
Createの場合は外部キーを登録してもいいのですが、Updateの場合は外部キーparent_idの変更したくないのでフォームからはparent_idは送られてきませんがStrong Parametersには外部キーparent_idがセットされていて意図した動作になりません。
解決法保として、Updateの場合にStrong Parametersからparent_idを抜いたり、逆にCreateの場合にparent_idを追加すればいいのかなと思っていますがそんなことができるのでしょうか?実際の現場ではどのようにしているのでしょうか?
また、全然別のテクニックなどがあれば教えてください!
よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/28 05:38
2019/06/28 05:40
2019/06/28 05:55