Ich bin ein Abfragesystem zu schaffen. Ich möchte, dass alle Optionen einzigartig gemacht werden, aber nur innerhalb ihrer jeweiligen Poll
. Ich bin mit einem proc
zu bestätigen, dass sie nicht leer:Validieren Einzigartigkeit von verschachtelter Attribute Instanz mit accepts_nested_attributes_for
class Poll < ActiveRecord::Base
has_many :options
accepts_nested_attributes_for :options, reject_if: proc { |attributes| attributes['option'].blank? }
end
Aber ich bin nicht sicher, wie ihre Einzigartigkeit zu validieren. Ich habe versucht, es innerhalb des Option
Modell zu tun, aber es ist die Ablehnung keine doppelten Optionen durch die Poll
Form erstellt der f.fields_for
:
class Option < ActiveRecord::Base
belongs_to :poll
validates_uniqueness_of :option, scope: :poll_id
end
Ist es möglich, es mit proc
zu tun?
Hoppla, ich hätte klarer sein sollen. ': option' ist ein Attribut von' Option'. Aber Sie sagen, dass die Validierung auch dann funktionieren sollte, wenn die 'Option' Instanz mit' Poll's 'f.fields_for: options' erstellt wurde? – Jane
ja & können Sie Ihren Formularcode zur Frage hinzufügen? –