Logik Boolean tidak kooperatif
P粉343141633
P粉343141633 2024-04-02 13:34:26
0
1
518

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粉343141633
P粉343141633

membalas semua(1)
P粉536532781

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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan