私はレールが初めてであるので、アドバイスをいただければ幸いです。ネストされた属性:reject_ifの不都合な妥当性検査:All_blank
私は、ネストされた属性アドレスを持つクラスのエントリを持って、この
/app/models/address.rbのようなクラスのアドレスと
/app/models/entry.rb
class Entry < ActiveRecord::Base
has_many :addresses, :dependent => :destroy
accepts_nested_attributes_for :addresses,
:allow_destroy => true,
:reject_if => :all_blank
end
class Address < ActiveRecord::Base
belongs_to :entry
validates :zip, :presence => true
end
そして、ネストされた形で私が
を持っています/app/view/entries/_form.html.slim
= simple_form_for(@entry) do |f|
= f.error_notification
- @entry.addresses.build
.form-inputs
= f.simple_fields_for :addresses do |address|
= render 'address_form', :f => address
アイデアは、フォームがレンダリングされるとき、「ビルド」は記載されている現在のアドレスに加えて、空の「アドレス」を作成するということですデータベース。変更が保存されると、作成された新しいアドレスがまだ空の場合、拒否され、データベースに保存されません。
ただし、address.rbの検証で保存前に検証が行われているため、保存操作を続行できません。私は何も出ていませんか?