Saya menghadapi masalah dengan tapak saya yang telah saya cuba selesaikan sekurang-kurangnya beberapa minggu, jadi saya berharap seseorang dapat menunjukkan di mana silap saya. Untuk beberapa latar belakang, saya seorang graduan baru-baru ini dan ini adalah projek batu penjuru yang saya bina untuk projek akhir saya, sebelum demo saya tidak mendapat semua ciri yang saya inginkan, sekarang saya telah menamatkan kursus yang saya cuba untuk memberi pengenalan Ciri-ciri yang saya rasa tiada. Walaupun begitu, saya membina senarai hajat filem seram menggunakan bahagian belakang Rails dan bahagian hadapan Vue dengan tema Bootstrap yang boleh saya tambahkan pada senarai pantau dan sama ada menambahkannya pada senarai yang digemari atau senarai benci, tetapi perkara terakhir yang saya mahu ialah kerana apabila anda mengklik butang untuk menambahkannya pada senarai tersebut, ia mengalihkannya keluar daripada senarai yang tidak ditonton. Saya mempunyai boolean yang disediakan di bahagian belakang tetapi sepanjang hayat saya, saya tidak boleh mendapatkan logik yang betul untuk mengubahnya daripada benar kepada palsu Saya tidak tahu sama ada saya memerlukan sesuatu di bahagian hadapan atau apa tetapi seperti yang saya katakan saya kita Telah cuba menyelesaikan masalah ini selama sekurang-kurangnya dua minggu sekarang, jadi sebarang bantuan adalah bagus.
Seni Bina Saya
create_table "hatedits", force: :cascade do |t| t.integer "movie_id" t.integer "user_id" t.string "box_art" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false end create_table "lists", force: :cascade do |t| t.integer "user_id" t.integer "movie_id" t.boolean "watched" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false end create_table "lovedits", force: :cascade do |t| t.integer "movie_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.integer "user_id" t.string "box_art" end create_table "movies", force: :cascade do |t| t.string "name" t.string "description" t.string "box_art" t.string "sub_genre" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.integer "year" t.string "category" end create_table "users", force: :cascade do |t| t.string "name" t.string "email" t.string "password_digest" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false end end
My Rails mengemas kini dan mencipta fungsi (saya rasa itulah masalahnya, tetapi saya tidak dapat melihatnya.)
def create list = List.create( user_id: current_user.id, movie_id: params[:movie_id], watched: false, ) if list.save render json: list else render json: {errors: list.errors.full_messages}, status: 406 end end def update list = List.find_by(id: params[:id]) list.movie_id = params[:movie_id] || list.movie_id if watched = true render json: list end if list.save render json: list else render json: {errors: list.errors.full_messages}, status: 406 end end
Saya mempunyai bahagian hadapan dengan butang dan kaedah untuk beralih ke senarai berbeza yang berfungsi tetapi apabila filem dialihkan ke senarai suka atau tidak suka, filem itu tidak mengalih keluar filem itu daripada senarai yang tidak ditonton,
<template> <div class="list"> <br /> <br /> <br /> <br /> <br /> <section id="portfolio" class="portfolio"> <div class="container"> <div class="row portfolio-container"> <div class="col-lg-4 col-md-6 portfolio-item filter-app" v-for="list in lists" v-bind:key="list.id"> <div class="portfolio-wrap"> <img :src="`${list.movie.box_art}`" /> <br /> <div class="portfolio-info"> <div class="portfolio-links"> <button v-on:click="lovedIt(list)">Loved It</button> <br /> <br /> <button v-on:click="hatedIt(list)">Hated It</button> </div> </div> </div> </div> </div> </div> </section> </div> </template> <style> .list { text-align: center; color: white; } img { height: 624px; width: 370px; } </style> <script> import axios from "axios"; export default { data: function () { return { list: {}, lists: {}, movie: [], currentUser: localStorage.getItem("user_id"), }; }, created: function () { this.indexLists(); }, methods: { indexLists: function () { axios.get("/lists").then((response) => { this.lists = response.data; console.log("list", response.data); }); }, addMovie: function () { axios.post("/lists", this.movie).then(() => { this.$router.push("/lists"); }); }, lovedIt: function (list) { this.list = list; axios .post("/lovedits", { user_id: this.currentUser.id, movie_id: this.list.movie_id, }) .then(() => { console.log("yo"); this.$router.push("/lovedit"); location.reload(); }); }, hatedIt: function (list) { this.list = list; axios .post("/hatedits", { user_id: this.currentUser.id, movie_id: this.list.movie_id, }) .then(() => { console.log("sup"); this.$router.push("/hatedit"); location.reload(); }); }, }, }; </script>
Adakah anda membuat tugasan dan bukannya perbandingan dalam
if
pernyataan di sini?