Jam*_*Liu 6 validation ruby-on-rails nested-attributes
我是rails的新手所以非常感谢任何建议.
我有一个带有嵌套属性地址的类Entry,
/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
Run Code Online (Sandbox Code Playgroud)
像这样的类地址
/app/models/address.rb
class Address < ActiveRecord::Base
belongs_to :entry
validates :zip, :presence => true
end
Run Code Online (Sandbox Code Playgroud)
我以嵌套的形式
/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
Run Code Online (Sandbox Code Playgroud)
我们的想法是,在呈现表单时,除了数据库中列出的当前地址之外,"build"还将创建一个空的"地址".保存更改后,如果创建的新地址仍为空,则会被拒绝并且不会保存到数据库中.
但是,address.rb中的验证在保存之前进行验证,因此用户无法继续执行保存操作.有什么我遗漏的吗?
归档时间: |
|
查看次数: |
326 次 |
最近记录: |