Неужели кому-то повезло, что has_one прошел через has_many отношения в той же модели. Я получаюRails has_one через has_many не работает
ActiveRecord :: HasOneThroughCantAssociateThroughCollection: Не может быть HAS_ONE: через ассоциацию
Похоже, что это было бы легко взять набор результатов has_many и отфильтровать его вниз по определенному ключу и назвать его отношения has_one ,
Использование рельсов 3.2.12
Вот мои ассоциации прямо сейчас участие другая модель.
has_one :original_participation, :through => :participation
has_one :original_participant, :through => :original_participants, :foreign_key => "organization_id"
has_many :original_participants,
:through => :original_participation,
:source => :participants
Мне нужно пройти эту последнюю ассоциацию и отфильтровать ее организацией organization_id.
ActiveRecord :: HasOneThroughCantAssociateThroughCollection: не может иметь has_one: через ассоциацию 'Surveys :: Member # original_participant', где: через ассоциацию 'Surveys :: Member # original_participants' представляет собой коллекцию. Вместо этого укажите ассоциацию has_one или belongs_to в опции: through.
Не могли бы вы разместить свои модели? – gotqn
Вы говорите, что у вас есть один ': original_participant' из коллекции': original_participants'. Невозможно узнать, кто изначальный_частник. Если вы хотите только один, то в вашем методе вы можете просто использовать 'original_participants.first' – lilwupster
Ну, original_participants - это коллекция, и через эту коллекцию я хочу найти ту, которая имеет текущие объекты oganization_id. Это может быть даже не возможно, как правило, мы просто входим в рамки, но мы делаем это с мышлением сфинкса, а используемая нами версия не поддерживает присоединение к областям. Мы собираемся взять это с другого пути, но чтобы избежать этого беспорядочного поиска. – wallerjake