前提・実現したいこと
rails6 + docker +jQueryでマッチングアプリを作成しています。
画像をスワイプしたときに必要なデータを保存したいのですが、タイトルのエラーが出てしまい保存できません。
UserモデルとReactionモデルは1:Nの関係です。
どなたかわかる方、ご教示ください。
発生している問題・エラーメッセージ
422 (Unprocessable Entity) devツールを見ると、 xhr.send( options.hasContent && options.data || null );でエラーになっています。
該当のソースコード
js
〜省略〜 postReaction(el.id, reaction); 〜省略〜 function postReaction(user_id, reaction) { $.ajax({ url: "reactions.json", type: "POST", datatype: "json", data: { user_id: user_id, reaction: reaction, }, }).done(function () { console.log("done!"); }); }
controller
class ReactionsController < ApplicationController def create reaction = Reaction.find_or_initialize_by(to_user_id: params[:user_id], from_user_id: current_user.id) reaction.update_attributes( status: params[:reaction] ) end end
route.rb
resources :reactions, only: [:create]
schema
create_table "reactions", force: :cascade do |t| t.bigint "to_user_id", null: false t.bigint "from_user_id", null: false t.integer "status", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["from_user_id"], name: "index_reactions_on_from_user_id" t.index ["to_user_id"], name: "index_reactions_on_to_user_id" end
Reactionモデル
class Reaction < ApplicationRecord belongs_to :to_user, class_name: 'User' belongs_to :from_user, class_name: 'User' enum status: { like: 0, dislike: 1 } end
あなたの回答
tips
プレビュー