我正在尝试使用回形针在帖子索引中显示用户的图像,但我得到的只是一个“缺失”的链接。
我正在使用Devise进行身份验证。还有用于图片上传的回形针。这是令人沮丧的,因为它对我来说有些时间,但occaisonaly给我带来了像这样的烦人的错误。谢谢你的帮助,我已经被困在这里几天了。
这是我的帖子索引:(错误在第8行引发)
<% @posts.each do |post| %>
<ul>
<li>
<div class="well well-large">
<div class="media">
<a class="pull-left" href="#">
<%= image_tag current_user.image.url(:thumb) %>
</a>
<div class="media-body">
<h4 class="media-heading"><%= post.title %></h4>
<%= post.content %>
<!-- Nested media object -->
<div class="media">
</div>
</div>
</div>
</div>
<% end %>
</li>
class User < ActiveRecord::Base
has_many :posts
has_attached_file :image, :styles => { :thumb => "100x100>" },
:default_url => "/images/:style/missing.png"
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
Post.rb
class Post < ActiveRecord::Base
belongs_to :user
end
以下是我的帖子控制器中的post_params:
private
def post_params
params.require(:post).permit(:title, :content)
end
答案 0 :(得分:0)
从错误中可以看出,你得到了。看看这一行:
<a class="pull-left" href="#">
<%= image_tag current_user.image.url(:thumb) %>
</a>
current_user
位于nil
,因此您获得了:
nil的未定义方法`image':NilClass
这意味着您正在请求此方法并在用户未登录时加载此视图,即未进行任何用户会话。请检查PostsController
:before_filter :authenticate_user!
或尝试登录,然后再访问PostsController
的索引方法。