Wenn Sie möchten, dass ein Foto auf mehreren Seiten, aber nicht auf unterschiedliche Weise verwendet wird, dh keine unterschiedlichen Stilkonfigurationen in Büroklammer, dann sollten Sie nur einen Datensatz für jedes Foto haben und ihn mit einem anderen Datensatz verknüpfen: durch Assoziation. Auf diese Weise können Sie das mittlere Modell den Foto-Datensatz bei der Zerstörung aufrufen lassen, um zu sehen, ob noch andere Assoziationen für das Foto übrig sind.
Es ist jedoch sehr schwierig, spezifisch zu sein, ohne zumindest die aktuelle Modellstruktur und Assoziationen zu sehen und ein Beispiel dafür, was Ihre Benutzer tun dürfen.
In jedem Fall würde ich nicht empfehlen, zwei separate Büroklammer Datensätze zeigen genau auf die gleiche Datei im Dateisystem.
Edit:
Wenn es der tatsächliche Upload ist man dann vermeiden wollen können Sie immer die Original-Datei verwenden, wenn Sie den neuen Datensatz zu erstellen:
@first_photo = Photo.find(1)
@new_photo = Photo.new
@new_photo.attachment = @first_photo.attachment
@new_photo.save
Das Foto würde noch einmal für jeden gespeichert werden Instanz, aber der Upload wird vermieden.
Bitte seien Sie klar. – Shreyas