思いのほかハマってしまったので、同じような問題に遭遇した誰かの手助けになればと思い残します。
/_error.html.erb
<% if family.errors.any? %>
<div class = "alert">
<ul>
<% family.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
/フォーム
<%= render "error_form", family: @family %>
<%= form_with model: @family, url: :family_families do |form| %>
<%= render "form", form: form %>
<% end %>
</div>
色々試してみます。
[5] pry(main)> @family.errors.full_messages
=> ["Family nameを入力してください",
"Given nameを入力してください",
"Family name kanaを入力してください",
"Given name kanaを入力してください",
"Genderを入力してください",
"Relationshipを入力してください",
"Addressを入力してください",
"Password digestを入力してください",
"Password digestは8文字以上で入力してください",
"Passwordを入力してください"]
しっかりエラー文入ってますね。
googleデベロッパー
<form action="/family/families" accept-charset="UTF-8" method="post">
local :trueオプションが効いてない場合は表示されないようです。その場合はdata-remote=trueと表示されるはずなので非同期通信になっていないことが確認できます
###結論
contollerのsave!メソッドが原因でした。
・saveメソッド → 保存できない場合falseを返す。
・save!メソッド → 保存できない場合例外ActiveRecord::RecordInvalidが発生する。