[Rails] belongs_to optional (關聯資料非必填)
某天新增 Category 到本來的 Book (many to many) 遇到一個問題
因本來 Book 有做 sti,新增 Book 的 Category 時,query 會用此 id 找每種繼承 Book 的 sti 資料 (但 type 只會記錄一種),因而噴錯
後來查詢才發現
rails 版本 5.1 後的版本 , belongs_to 的關聯 model 預設改為必填
須添加參數 optional: true
才可以允許非必填
e.g.
class Book < ApplicationRecord
belongs_to :category, optional: true
end