2016-12-03 5 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

を表示することができますか? –

+0

はいユーザーモデルを質問に入れました – Tuler

+0

アプリケーションサーバーを再起動しましたか? – dp7

答えて

0

Userモデルではmount_uploaderが2回あります。

また、次のコードを実行しましたか?

rails g migration add_avatar_to_users avatar:string 
rake db:migrate 

アクティブレコードモデルに「未定義のメソッド」というエラーを取得するための通常の理由は、DBの列が存在しないということですので、私はそれが問題であると思います。

エラーメッセージとスタックトレースが画面に表示されたら、マイグレーションファイルの内容とAvatarUploaderと一緒に投稿してください。

編集:

あなたは、あなたのモデルでアクティブなレコードの関連付けを不足している:あなたは私たちに `User`モデルからコードを

class User < ApplicationRecord 
    has_many :posts 
end 

class Post < ApplicationRecord 
    belongs_to :user 
end 
+0

コラムあり – Tuler

+0

OKです。 'AvatarUploader'には何がありますか? –

+0

AvatarUploaderは搬送波から生成されたクラスです – Tuler

関連する問題