ich an einer Aufgabe arbeiten, die, unter vielen anderen, die folgende Anforderung hat:Individuelle Schienen-Validator, die eine von zwei Elemente erlaubt null zu sein, aber nicht beide
Define custom validator that permits first_name or last_name to be null but not both
ich etwas haben, das funktioniert, aber ich bin ganz sicher, dass es nicht korrekt ist:
Ich weiß nicht, wie ich das komplett testen sollte. Was ich oben habe, testet nur, ob beide null sind. Die Tatsache, dass ich nur :first_name
zu dem Fehler-Array hinzufüge, sagt mir schon, dass etwas nicht stimmt.
Wäre das ein if/else
? Arbeiten diese in Validierungen?
EDIT: Die Tests, die ich versuche, den Ball zu machen:
it "does not allow a Profile with a null first and last name" do
expect(Profile.new(:first_name=>nil, :last_name=>nil, :gender=>"male")).to_not be_valid
end
it "allows a Profile with a null first name when last name present" do
expect(Profile.new(:first_name=>nil, :last_name=>"Smith", :gender=>"male")).to be_valid
end
it "allows a Profile with a null last name when first name present" do
expect(Profile.new(:first_name=>"Joe", :last_name=>nil, :gender=>"male")).to be_valid
end
Sie sollten die Antwort richtig markieren, wenn es Ihnen hilft. – Nickey