рельсы условные отношения - PullRequest
0 голосов
/ 01 ноября 2019

Мой стол location:

  1. pos_long
  2. pos_lat
  3. принадлежит_ (ORG, PROJ и т. Д.)
  4. 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 в противном случае.

Как я могу это исправить?

(Я знаю полиморфные отношения, но они меняют имена полейзабавными способами, которые я не хочу)

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