Bei einem virtuellen Verbundattribut in einem Rails 3.0.3-Modell können Fehler für Komponentenattribute automatisch auf das Attribut composite gesetzt werden. Zum Beispiel:Attributattribute für mehrere Spalten
validates_presence_of :first_name
validates_presence_of :last_name
def name
"#{first_name} #{last_name}"
end
def name=(name)
first_name, last_name = name.split
end
Gibt:
@model.errors[:name] = @model.errors[:first_name] + @model.errors[:last_name]
Bitte beachten Sie, dass dies ein vereinfachtes Beispiel ist, und ich kann nicht einfach die Validierungen bewegt sich von der Komponente in eine neue Validierungsmethode für die Composite-Attribut Attribut.
Ein weiteres Beispiel ist das Paperclip-Juwel, in dem die Validierung der Größe (attachment_size) auf das Attribut 'attachment' gesetzt wird. Irgendwelche Ideen?
Danke.
Hey Ryan. Entschuldigung, um mein Beispiel zu verdeutlichen ist viel komplexer als das obige. Ich suche eigentlich nach etwas, das näher daran ist, wie "Paperclip" die Anhangsgröße, den Anhangstyp usw. überprüft und alle Validierungen zum Basisattribut hinzufügt (aber ich konnte es beim Lesen der Quelle nicht herausfinden). Ich werde das obige aktualisieren, um klarer zu sein. –