2012-05-03 2 views
0

У меня установлен CarrierWave (0.6.1) и встроенный жемчуг. У меня есть модель ресурсов с множеством вложений, которые имеют FileUploader.CarrierWave и вложенная форма Gem Redisplay

У меня есть вложенная форма, где пользователи могут загружать несколько файлов одним ресурсом. Я следую разделу github (https://github.com/jnicklas/carrierwave), в котором говорится, как заставить загружать работу через redisplays, к сожалению, это только соотношение 1: 1.

Вот код, у меня есть:

<%= nested_form_for @resource, :html=>{:multipart => true } do |f| %> 
    <p> 
     <%= f.label :title %> 
     <%= f.text_field :title %> 
    </p> 
    <%= f.fields_for :attachments, @attachment do |attachment_form| %> 
     <p> 
      <%= attachment_form.label :file %> 
      <%= attachment_form.file_field :file %> 
      <%= attachment_form.hidden_field :file_cache %> 
      <%= image_tag(attachment_form.file_url) if attachment_form.file? # DOESN'T WORK!!! %> 
     </p> 
     <%= attachment_form.link_to_remove "Remove this attachment" %> 
    <% end %> 
    <%= f.link_to_add "Add attachment", :attachments %> 
    <p><%= f.submit %></p> 
<% end %> 

Все работает, и это заполнит переменную file_cache просто отлично для attachment_form однако я как-то нужно добавить следующую строку там, чтобы показать пользователю образ документ:

Однако есть ряд проблем с этим. Прежде всего attachment_form ссылается на form_builder, тогда как я хочу фактическое вложение. Во-вторых, вложение ничего не знает о файле.

Возможно, необходимо использовать другой тип механизма зацикливания, но я новичок в Ruby, поэтому любая помощь оценивается.

Спасибо всем!

ответ

1

Если вы попробуете это:

<%= image_tag(attachment_form.object.file_url) if attachment_form.object.file? %> 

Вы сможете показать предыдущие загруженные изображения. Но если вы хотите отобразить загруженные прямо сейчас, вам нужно использовать что-то еще. Например: https://github.com/blueimp/jQuery-File-Upload/wiki/jQuery-File-Upload-v4-for-Rails-3 Извините, если я неправильно понял ваш вопрос.

+0

awesome! не совсем то, что мне нужно, но я не знал об атрибуте «объект» формы ... Я думаю, что я возглавляю в правильном направлении. благодаря! – schmudu

+0

, но откуда берется объект. Я потерял ваш ответ. Я пытаюсь сделать это с жемчужиной стрекозы. – Benjamin

Смежные вопросы