2014-11-24 3 views
0

Я создаю одно приложение с помощью paperclip для загрузки нескольких файлов. Файлы сохраняются в бэкэнд. Я проверил его с помощью консоли. При отображении файлов в шоу-странице он дает мнеundefined method `attachments 'for nil: NilClass

undefined method `attachments' for nil:NilClass 

show.html.erb

<div class="row"> 
     <ul class="thumbnails files"> 
     <% @gallery.attachments.each do |attachment| %> 
      <li class="span3" id="attachment_<%= attachment.id %>"> 
      <div class="thumbnail"> 
       <%= image_tag attachment.image_url %> 
      </div> 
     <% end %> 
     </ul> 
    </div> 

controller.rb

def create 
@gallery = current_user.gallery.new(galley_params) 
respond_to do |format| 
    if @gallery.save 
    if params[:attachments] 
     params[:attachments].each {|attachment| 
     @gallery.attachments.create(attachment: attachment) 
     } 
    end 
    end 
    format.js{ render nohing: true} 
end 
end 

Может кто-то помочь, что эта ошибка означает в мой код. Спасибо!

ответ

2

Ошибка довольно описательная. @gallery - nil, поэтому вы, вероятно, не задаете @gallery переменная в show. Действие (код create здесь не имеет значения). Поэтому у вас должно быть что-то вроде этого:

def show 
    @gallery = current_user.gallery 
end 
+0

@ user3423992 помог ли мой ответ? –

+0

Спасибо! Марек Липка. Это сработало. – Packer

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