###前提・実現したいこと
rails の create メソッドで配列の数に応じて、複数のレコードを生成したいのですが、配列の最初の1つ目しか save されていません
やりたいこととしては、
type に2つの要素が入っているなら
-
:name
-
:about
-
type :[1つ目の要素]
-
:name
-
:about
-
type :[2つ目の要素]
と、 nameとaboutは同じ値で、typeだけをそれぞれ繰り返して
データベースに保存したいと考えています
現状のコードでもできると思ったのですが、うまくいかないので、
わかる方がいらっしゃいましたら、ご教授お願い致します。
#パラメーター params.require(:product).permit(:name,:about, type: []) # create メソッド def create lists = [] product = Product.new product.name = product_params['name'] product.about = product_params['about'] product_params['type'].each do |t| product.type = t lists << product end respond_to do |format| if lists.size > 0 lists.each do |list| list.save end format.html { redirect_to admin_shop_banners_path, notice: 'success' } else format.html { render :new } end end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/13 03:14