2012-12-27 8 views
5

Con Cloudinary e il suo plugin Carrierwave posso scrivere un modulo a mio avviso che caricare un'immagine per la loro nuvola e associarlo a un attributo di modello chiamato picture, in questo modo:Come associare i campi di caricamento diretto a un modello utilizzando Cloudinary in Rails?

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

Questo funziona. Ma non riesco a capire come associare l'attributo al modello mentre si segue il loro documentation for direct uploads in Rails. Il loro esempio utilizza un form_tag che non è legato a un modello:

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

Sto cercando qualche esempio, che è come <%= post_form.some_upload_method(:picture) %>. Qualche possibilità che qualcun altro ha fatto per caricare direttamente i propri modelli e sa cosa sto cercando?

+0

Lo faccio utilizzando una richiesta Ajax una volta che il file è stato caricato con successo – apneadiving

+0

Nel tuo caso: quando il caricamento è completo, l'ID pubblico Cloudinary di vostra immagine verrà aggiunta al il tuo modulo originale e inviato al tuo server. Utilizza questo ID pubblico quando desideri accedere all'immagine caricata in futuro, nella sua forma originale o dopo aver utilizzato le trasformazioni di immagine on demand di Cloudinary. Puoi anche fare in modo che il plugin chiami una routine di callback Javascript al completamento del caricamento su Cloudinary. – apneadiving

risposta

4

È possibile utilizzare la seguente sintassi:

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

Grazie mille! Ecco la taglia. – hlh

Problemi correlati