Rumah  >  Soal Jawab  >  teks badan

Logik Boolean tidak kooperatif

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>

P粉343141633P粉343141633181 hari yang lalu336

membalas semua(1)saya akan balas

  • P粉536532781

    P粉5365327812024-04-03 10:10:21

    Adakah anda membuat tugasan dan bukannya perbandingan dalam if pernyataan di sini?

    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

    balas
    0
  • Batalbalas