0

こんにちは私は、「投稿」に多くの「気持ち」がある、多種多様な関連性を持っています。ユーザーが特定の感情を持つすべての投稿を見つける方法を知りたいのですが。 My Feelingモデルには「名前」属性があります。Rails 3:has_manyアソシエーションでデータベースを呼び出す

class User < ActiveRecord::Base 
    has_many :posts, :dependent => :destroy 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 
end 

class Post < ActiveRecord::Base 
    has_many :feelingships 
    has_many :feelings, :through => :feelingships 
    belongs_to :user 
end 

class Feeling < ActiveRecord::Base 
    has_many :feelingships 
    has_many :posts, :through => :feelingships 
end 


class Feelingship < ActiveRecord::Base 
    belongs_to :post 
    belongs_to :feeling 
    attr_accessible :post_id, :feeling_id 
end 

私はこれを試してみましたが、それは私が間違っ協会持って言う:「はActiveRecord ::てConfigurationError:? 『感』という名前の協会が見つかりませんでした。おそらく、あなたはそれをスペルミスを」

def feeling 
    @user = User.find(params[:id]) 
    @feed_items= @user.posts.includes(:feeling).where(
      ['`feelings`.name = ?', params[:feeling]]) 
    @feed_items = @feed_items.paginate(:per_page => "10", :page => params[:page]) 
render 'shared/_feed', :layout => 'head_layout' 
end 
+0

あなたは@userに呼んでいる「フィード」とは何ですか?それはおそらく "ポスト" – Nycen

+0

アイ、ちょうどタイプミス今修正 –

答えて

1

includes引数は:feelingsする必要があります - あなたの関連付けが命名されたもので、複数を、気づきます。

だから、次のようになります。

@user.posts.includes(:feelings) 
関連する問題