不合作布尔逻辑
P粉343141633
P粉343141633 2024-04-02 13:34:26
[Vue.js讨论组]

我的网站遇到了一个问题,至少几周来我一直在努力解决这个问题,所以我希望有人能够指出我哪里出了问题。对于一些背景知识,我是一名应届毕业生,这是我为最终项目构建的顶点项目,在演示之前我没有完全获得我想要的所有功能,现在我已经完成了我正在尝试的课程介绍一下我觉得缺少的功能。话虽这么说,我用 Rails 后端和带有 Bootstrap 主题的 Vue 前端构建了一个恐怖电影愿望清单,我可以将它添加到观看列表中,并且可以将它们添加到喜爱的列表中或者讨厌它的列表,但我最不想要的事情是,当您单击按钮将其添加到所述列表时,它会将其从未观看的列表中删除。我在后端设置了一个布尔值,但对于我的生活,我无法得到正确的逻辑来让它从 true 翻转到 false 我不知道我是否需要前端的东西或什么,但就像我说的我我们已经尝试解决这个问题至少两周了,所以任何帮助都会很棒。

我的架构

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

我的 Rails 更新和创建函数(我认为这就是问题所在,但我只是看不到它。)

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

我的前端带有移动到不同列表的按钮和方法,这些按钮和方法可以工作,但当电影移动到喜欢或讨厌的列表时,不会将电影从未观看的列表中删除,




P粉343141633
P粉343141633

全部回复(1)
P粉536532781

您是否在此处的 if 语句中进行赋值而不是比较?

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号