2016-12-03 76 views
1

我在我的数据库中有一个包含载波和化身列的设计用户表。当运行的网站,它说“未定义的方法`阿凡达”Rails关联

<% @posts.each do |post| %> 
     <div class="col-xs-12 col-md-6 col-lg-4 item" > 
     <div class="timeline-block"> 
      <div class="panel panel-default"> 
      <div class="panel-heading"> 
       <div class="media"> 
       <div class="media-left"> 
        <a href=""> 
        <%= image_tag post.user.avatar.url, class: 'media-object' %> 
        <img src="http://placehold.it/50x50" class="media-object"> 
        </a> 
       </div> 
       <div class="media-body"> 
        <a href="#" class="pull-right text-muted"><i class="icon-reply-all-fill fa fa-2x "></i></a> 
        <a href=""><%= name post %></a> 
        <span><%= (post.created_at).to_formatted_s(:short) %></span> 
       </div> 
       </div> 
      </div> 

      <div class="panel-body"> 
       <p><%= post.user_post %></p> 
      </div> 

      <div class="view-all-comments"> 
       <a href="#"> 
       <i class="fa fa-comments-o"></i> View all 
       </a> 
       <span>10 comments</span> 
      </div> 
      </div> 
     </div> 
     </div> 
    <% end %> 

型号

class User < ApplicationRecord 
    mount_uploaders :avatars, AvatarUploader 
    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 
    #attr_accessor :email, :password, :remember_me, :avatar, :avatar_cache, :remove_avatar 
    mount_uploader :avatar, AvatarUploader 
end 

不知道是怎么回事。在其他应用程序上,我使这些协会工作。

+0

你能告诉我们从'User'模型的代码? –

+0

是的我已经把用户模型放在问题 – Tuler

+0

你重新启动了你的应用服务器吗? – dp7

回答

0

您的User型号中有mount_uploader两次。

另外,您是否运行以下代码?

rails g migration add_avatar_to_users avatar:string 
rake db:migrate 

正常的原因上的活动记录模型得到一个“未定义的方法”的错误是DB列是不存在的,所以我怀疑这就是问题所在。

如果没有,请在屏幕上看到确切的错误消息和堆栈跟踪,以及移植文件的内容和AvatarUploader

编辑:

你缺少的活动记录协会的机型:

class User < ApplicationRecord 
    has_many :posts 
end 

class Post < ApplicationRecord 
    belongs_to :user 
end 
+0

列有 – Tuler

+0

好的。 “AvatarUploader”中有什么? –

+0

AvatarUploader是从载波生成的类 – Tuler