我有一個嵌套屬性的表單。我正在向學校註冊一名學生,學生可以有很多緊急聯繫人。Rails 3.如果全部保留爲空,則不驗證嵌套屬性
class EmergencyContact < ActiveRecord::Base
attr_accessible :full_name, :relationship, :mobile_phone, :student_id
belongs_to :student
validates :full_name, :presence => true
validates :relationship, :presence => true
end
所以我有一個表格註冊學生,然後3行進入緊急聯繫人。類似於以下(這當然是過於簡單的版本...
Student Name: _____________
Emergency Contacts
------------------------------------------
| Name | Relationship |
------------------------------------------
| | |
------------------------------------------
| | |
------------------------------------------
| | |
------------------------------------------
如果我只進2個緊急聯繫人,然後我會得到驗證錯誤的緊急聯繫人的名稱不能爲空。我怎樣才能使它不驗證,如果該表格中的所有字段都是空白的?
如何生成reject_if爲true時表單驗證錯誤,以便用戶可以更正錯誤?它只是不保存任何內容並向用戶報告驗證錯誤。 – GeorgeW
嘗試'accep_nested_attributes_for:relations',然後在下一行,'validates_associated:relations'在這種情況下,您不需要':reject_if'選項。有關更多信息,請參閱http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_associated。 – niiru
@niiru說到嵌套資源,如果我需要***忽略行,如果所有字段都是空白***,但如果***任何字段填充,驗證孔資源***並向用戶顯示錯誤。 –