##結論
〇〇の部分のアソシエーションに optional: true を追記してあげる
class Poop < ApplicationRecord
extend ActiveHash::Associations::ActiveRecordExtensions
belongs_to :user
belongs_to :humans, optional: true
# optional: trueとは
外部キーがnillであることを許可してくれるオプションです。
バリデーションにひっからず保存されるようになります。
詳しくは下記リンクに書いてあります。
https://railsguides.jp/association_basics.html#optional
#なぜこんな事が起こったか
def create
poop = Poop.create(poop_params)
if poop.save #ここのsaveでhuman_idがないために起こったエラー
redirect_to root_path
end
end
上記の記述ではエラーが表示されずにログでしか確認できないのですが、
save!とすることでValidation failed: 〇〇 must exist
とエラー内容を知る事ができました。
下記save!について詳しく書かれていたページ
https://techacademy.jp/magazine/22082