前提・実現したいこと
親モデルindexで画像サムネイルを他の項目にdrag&dropしたときに画像サムネイルに紐づく子モデルのデータを新規入力したい。
親モデル(childen)、子モデル(images)として、
動画にあるように太郎から次郎へドロップされた時、子モデルの#dropnew
アクションまでajax送信は出来ています。images#new
に送信するとNo route matches [POST]
が出たため、新規に作成してルーティングでpostを指定しました。
$.ajax({ url: "children/" + id + "images/dropnew", type: "post", data: { content: data, child_id: id, }, datatype: "text", success: function(data){ alert('success'); }, error: function(jqXHR, textStatus, errorThrown){ alert(textStatus); alert(errorThrown.message); alert(jqXHR.status); alert(jqXHR.responseText); }, });
controller
1 @id = params[:child_id] 2 @data = params[:content] 3 @image = Image.new
発生している問題
ここから自動でimagesモデルのDBに@id、@dataを保存したいのですが、どうすればよいか分かりません。
コントローラー内でDBにデータ入力出来ればよいのですが、調べた限り難しそうです。
dropnewのviewにform_forを作成し、javascriptで下記のようなコードで自動入力出来そうだとなんとなく考えていますが、ちょうどよい参考サイトもなく、自力で対応することも出来ないので質問しました。
意図が伝わるか心配ですが、宜しくおねがいします。
$("#image_pic").val(id); $("#image_pic").val(data); $("#new_image").submit();
回答1件
あなたの回答
tips
プレビュー