2010-12-14 9 views
0

Ich bin eine Anwendung in Rails erstellen, wo Bildersätze erstellt werden können, d. H. Der Benutzer lädt eine Datei mit Bildnamen und gibt einen Pfad, wo diese Bilder im Web gefunden werden können.Verwenden Sie benutzerdefinierte Asset-Server in Rails

So zum Beispiel die Bilddatei enthält:

image1.jpg 
image2.jpg 

und der Pfad als http://www.user1-server.com/ angegeben ist.

Ein anderer Benutzer könnte seine eigene Bildnamensdatei laden, aber einen anderen Server angeben: http://www.user2-server.com/ oder sogar http://my-fancy-server.com.

Gibt es eine Möglichkeit, die AssetTagHelper-Funktionalität von Rails zu verwenden, um mir die Image-Tags zu generieren?

Also, wenn ich im Kontext von Benutzer 1, z. /users/1/images/1 und Verwendung:

image_tag("1.jpg") 

es http://www.user1-server.com/images/1.jpg liefern sollte, aber für /users/2/images/1 sollte es http://www.user2-server.com/images/1.jpg oder http://my-fancy-server.com/images/1.jpg zurückzukehren.

+0

Haben Sie eine feste Anzahl von Servern oder gibt es eine N-Nummer basierend auf der Anzahl der Benutzer? www.user23423423-server.com? – Cory

+0

Ich habe die Frage oben aktualisiert. Der Benutzer sollte eigentlich in der Lage sein, seinen eigenen Server zu definieren. – slhck

Antwort

1

Ich glaube nicht, dass Sie Asset-Host in Rails auf diese Weise ändern können. Rails ist intelligent genug, um den an ein Image-Tag übergebenen Host jedoch nicht zu setzen oder außer Kraft zu setzen. Vielleicht schreiben Sie einfach eine Hilfsmethode oder etwas, um den richtigen Host zu übergeben?

+0

Ich dachte mir, dass das wahrscheinlich die einzige Alternative ist, aber vielleicht hat jemand eine wirklich einfache Idee. – slhck

Verwandte Themen