2012-12-27 3 views
5

Mit Cloudinary und ihre Carrierwave Plugin kann ich ein Formular aus meiner Sicht schreiben, die ein Bild auf ihre Cloud laden werden und binden sie Attribut auf ein Modell picture, wie so genannt:Wie kann man direkte Upload-Felder mit einem Modell verbinden, das Cloudinary in Rails verwendet?

<%= form_for(@post) do |post_form| %> 
    <%= post_form.hidden_field(:picture_cache) %> 
    <%= post_form.file_field(:picture) %> 
<% end %> 

Dies funktioniert. Aber ich kann nicht herausfinden, wie man das Attribut an das Modell bindet, während man ihre documentation for direct uploads in Rails verfolgt. Ihr Beispiel verwendet eine form_tag, die nicht an ein Modell gebunden ist:

<%= form_tag(some_path, :method => :post) do %> 
    <%= cl_image_upload_tag(:image_id) %> 
    ... 
<%= end %> 

ich mich für einige Beispiele suchen, wie <%= post_form.some_upload_method(:picture) %> ist. Gibt es eine Chance, dass jemand anderes dies für direkte Uploads für ihre Models getan hat und weiß, wonach ich suche?

+0

ich dies eine Ajax-Anfrage mit, sobald die Datei erfolgreich – apneadiving

+0

In Ihrem Fall hochgeladen: Wenn der Upload abgeschlossen ist, wird Cloudinary öffentlichen IDs Ihr Bild hinzugefügt Ihr Originalformular und übermittelt an Ihren Server. Verwenden Sie diese öffentliche ID, wenn Sie in Zukunft auf das hochgeladene Bild zugreifen möchten, entweder in seiner ursprünglichen Form oder nach der Verwendung von Cloudinary-On-Demand-Image-Transformationen. Sie können das Plugin auch veranlassen, eine JavaScript-Callback-Routine aufzurufen, wenn das Hochladen in Cloudinary abgeschlossen ist. – apneadiving

Antwort

4

können Sie die folgende Syntax verwenden:

<%= post_form.cl_image_upload(:picture) %> 
+0

Vielen Dank! Hier ist das Kopfgeld. – hlh

Verwandte Themen