Самостоятельная ассоциация с: включением данных в основную таблицу (рельсы 2.3) - PullRequest
2 голосов
/ 30 января 2011

У меня есть ассоциативная ссылка, подобная этой:

class Influencer < ActiveRecord::Base

 has_many :followers, :class_name => 'Following', :foreign_key => 'influencer_id'
 has_many :following, :class_name => 'Following', :foreign_key => 'follower_id'  

в моей таблице влияния у меня есть поле с именем "external_identifier"

Я хочу проверить своих подписчиков на наличие external_identifier, поэтому обычно я делаю: include, чтобы он выполнял объединение.

Я пытался:

myinfluencer.followers.find(:first, :include => 'influencers', :conditions => ["influencers.external_identifier = ?","934394343434"])

но ошибки с "влияющими" не являются ассоциацией, я также пробовал "последователи", и, похоже, тоже не работает должным образом.

Ответы [ 2 ]

0 голосов
/ 31 января 2011

Попробуйте :include => :follower.

myinfluencer.followers возвращает ассоциацию has_many, поэтому, когда вы присоединяетесь, чтобы протестировать условие в связанной модели (Influencer), вам необходимо использовать сторону belongs_to ассоциации, которая в данном случае равна belongs_to :follower.

0 голосов
/ 31 января 2011

include берет название ассоциации, поэтому вам нужно будет указать либо followers, либо following, в зависимости от того, к чему вы пытаетесь присоединиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...