同样的问题已被多次询问,但我无法找到适合我的解决方案。
我有三个型号,帖子,用户和图片(回形针)。
我使用restful_authentication并进行设置,以便每个用户只能在帖子/索引中看到他/她的帖子。我也让他能够上传个人资料照片。
我的问题是如何拍摄照片/索引并在帖子/索引中显示。我想在帖子/索引页面上显示缩略图,然后是帖子。
我使用过partials,但是我收到了错误
NoMethodError in Posts#index
Showing app/views/us/_picture.html.erb where line #1 raised:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
Extracted source (around line #1):
1: <% for u in @us %>
2: <tr>
3: <td><%= image_tag u.picture.url(:thumb) %></td>
4: <td><%=h u.name %></td>
我看到它正在尝试做什么,如何解决它以便它只显示上传的图片。
感谢您的帮助。
答案 0 :(得分:1)
错误是说您没有将@us实例变量分配给模板,这通常是您在控制器中执行的操作。
模板编译步骤在第一个迭代步骤中遇到问题(迭代@us数组),它甚至没有达到尝试运行图片访问/渲染步骤的程度,这可能会也可能不会出现问题它自己的。
在你的控制器中抓取一组用户(带图片)并将其分配给@us,一些基本的伪代码:
class PostsController < ApplicationController
def index
@us = User.find(:limit => 10, :include => [:picture])
end
end