ruby on rail 3.0.3 appは、カートを顧客に見せるときに空のアドレス形式を表示します。私はそれが検証条件にもかかわらず、働く空のフォームを検証する場合妥当性検査とネストされたフォーム
validates :nom,:prenom,:adresse,:code_postal,:ville,:email, :presence => true
:
addresseモジュールは、すべてのフィールドの存在をお願いします。 私はフォームを完成させ、次のページに行き、今作成された作成フォームに戻ります。今私がフィールドを削除する場合、valiates考慮されます。ここで
は、showアクションでネストされたフォームのための私の空のアドレスを作成するコードです:if (@cartshowed.adresse_client.nil?)
@cartshowed.build_adresse_client
end
私は空のアドレス検証をusind時に無視されていることを推測する、しかし、すぐに私はすでに有効なため、データを検証してそれは動作します。
エディション用だけでなく、アドレスを作成するときに、どのように検証作業を行うことができますか?
PS:編集/作成は、同じコントローラで同じページで行われます。エディションは存在するようには意図されていませんでしたが、動作します。
編集:私の問題は、ネストされたフォームを使用してアドレスを作成すると、アドレスのフィールドが完全にオーバーライドされるということです。 どのようにして、ネストされたフォームで制限を検証できますか?
問題は変わりません: 'proc {| attrs | attrs.all? {| k、v | v.blank? }} ' それは空白のフィールドを拒否すべきです。私はまだ私のupdate_attributesメソッドを渡すことができます。 再度、アドレスの検証は、アドレス – Syl
の作成時にのみ無視されます。reject_ifの表示に感謝します。 accepts_nested_attributes_for行にreject_ifが指定されていないと、実際に意図したとおりに動作します。 – Syl