0
我有一個嵌套的表格:軌道4驗證嵌套創建
= form_for @class4, url: {action: "create"} do |f|
= render 'shared/error_messages'
.form-group
= f.label :description
= f.text_field :description
= f.fields_for :class3 do |builder|
= render :partial => '/shared/class3', :locals => {:f => builder}
= submit_tag("submit")
= link_to 'clear'
有部分錯誤
<% if @instance.errors.any? %>
<div id="error_explanation">
<div class="alert alert-danger">
The form contains <%= pluralize(instance.errors.count, "error") %>.
</div>
<ul>
<% instance.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
,並在我的控制器下面的代碼:
current_user
.class1.find(params [:"id"])
.class2.where(id: params [:"id2"])
.first_or_create!
.class3.where(id: params[:"id3"])
.first_or_create!
.class4.create!(params[:"...."])
的問題是,當params [:「id」]不是有效的Class1記錄ID時,我得到了一個ActiveRecord :: RecordNotFound錯誤,這很明顯,但是,我會想顯示錯誤給用戶,就像任何其他形式的驗證錯誤,例如:
PARAMS [「ID」]是不是一個有效的Class1記錄
我如何才能讓嵌套創建時通知用戶他們選擇的ID是無效的?