我正在使用paperclip构建一个应用程序来上传多个文件。文件正在后端保存。我用控制台检查了它。 在显示页面中显示文件时,它正在给我
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
有人可以帮助我的代码中出现此错误的含义。 谢谢!
答案 0 :(得分:2)
该错误非常具有描述性。 @gallery
为nil
,因此您可能未在@gallery
操作中设置show
变量(此处create
操作的代码无关紧要)。所以你应该有这样的东西:
def show
@gallery = current_user.gallery
end