Мой стол location
:
- pos_long
- pos_lat
- принадлежит_ (ORG, PROJ и т. Д.)
- remote_id
Я пытаюсь установить отношение в модели местоположения:
belongs_to :organization, ->{Location.for_org},class_name: 'Organization',foreign_key: 'remote_id'
scope :for_org, ->{where({belongs_to: 'ORG'})}
Поле принадлежащее находится в таблице местоположений, но получаемый запрос неверен:
ActiveRecord::StatementInvalid: Mysql2::Error:
Unknown column 'locations.belongs_to' in 'where clause':
SELECT `organizations`.* FROM `organizations` WHERE
`organizations`.`id` = 99 AND `locations`.`belongs_to` = 'ORG' LIMIT 1
Location.organization должна возвращать действительную запись только в том случае, если Location.for_org имеет значение true и nill в противном случае.
Как я могу это исправить?
(Я знаю полиморфные отношения, но они меняют имена полейзабавными способами, которые я не хочу)