2012-12-27 24 views
5

Z Cloudinary i ich wtyczki Carrierwave mogę napisać formularza w moim przekonaniu, że będzie przesłać obraz do swojej chmury i powiązać go z atrybutem model o nazwie picture, tak:Jak powiązać bezpośrednie pola przesyłania z modelem przy użyciu Cloudinary w Railsach?

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

To działa. Ale nie mogę wymyślić, jak powiązać atrybut z modelem podczas wykonywania ich documentation for direct uploads in Rails. Ich przykładem używa form_tag, który nie jest związany z modelu

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

szukam jakiegoś przykładu to jak <%= post_form.some_upload_method(:picture) %>. Czy jest szansa, że ​​ktoś zrobił to dla bezpośredniego przesyłania do swoich modeli i wie, czego szukam?

+0

zrobić to za pomocą ajax żądania raz plik został pomyślnie przesłany – apneadiving

+0

W twoim przypadku: Po zakończeniu przesyłania obrazu za Cloudinary ID publicznego zostanie dodany do oryginalny formularz i przesłany na serwer. Użyj tego publicznego identyfikatora, jeśli chcesz uzyskać dostęp do przesłanego obrazu w przyszłości, w jego pierwotnej postaci lub po użyciu transformacji obrazu na żądanie w Cloudinary. Możesz również uzyskać wtyczkę do wywoływania procedury wywołania zwrotnego Javascript po zakończeniu przesyłania do Cloudinary. – apneadiving

Odpowiedz

4

Można użyć następującej składni:

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

Dziękuję bardzo! Oto nagroda. – hlh