我有一個模型電影和一個模型流派,它們之間存在多對多關系:電影 has_and_belongs_to_many :genres 和流派 has_and_belongs_to_many :movies 當然有一個連接表:
create_table "genres_movies", id: false, charset: "utf8mb4", force: :cascade do |t|
t.bigint "genre_id", null: false
t.bigint "movie_id", null: false
t.index ["genre_id", "movie_id"], name: "index_genres_movies_on_genre_id_and_movie_id"
t.index ["movie_id", "genre_id"], name: "index_genres_movies_on_movie_id_and_genre_id"
end
我現在有一種方法,可以根據一些例程選擇流派,然后我想手動將這些流派分配給電影。以下不起作用:
new_movie_params[:genre_ids] = genre_array
movie.update(new_movie_params)
我收到以下錯誤:
ActiveRecord::RecordNotFound (Couldn't find all Genres with 'id': (, ) (found 0 results, but was looking for 2). Couldn't find Genres with ids , .):
我認為我需要手動更新連接表 - 我有電影 ID 和型別 ID - 但我不知道該怎么做?
uj5u.com熱心網友回復:
在確保流派陣列實際包含 ID(有效 ID)時完美地作業:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/361363.html
上一篇:如何訂購開頭包含數字的標題
下一篇:如何在聚合sql之前洗掉重復項
