Rails — не работает ассоциация с кастомным foreign_key?

Когда я пытаюсь прогрузить ассоциацию, в SQL не передаётся id модели, но передаётся [[nil, nil]]:
jruby-1.7.11 :081 > u.user_privileges
UserPrivilege Load (61.0ms)  
SELECT "A_USERPRIVILEGES".* FROM "A_USERPRIVILEGES"  
WHERE "A_USERPRIVILEGES"."ID_A_USERS" = :a1  [[nil, nil]]  =>
#<ActiveRecord::Associations::CollectionProxy []>

Стоит rails 4.1, jruby-1.7.11, oracle_enhanced adapter и oracle 11g в качестве сервера бд.
Вот мой код:
class User < ActiveRecord::Base
  self.table_name = 'A_USERS'
  self.primary_key = 'ID'

  has_many :user_privileges, foreign_key: 'ID_A_USERS', 
    primary_key: 'ID' # when i remove primary key here then nothing changing
end

class UserPrivilege < ActiveRecord::Base
  self.table_name = 'A_USERPRIVILEGES'
  self.primary_key = 'ID'

  belongs_to :user, foreign_key: 'ID_A_USERS', 
    primary_key: 'ID' # when i remove primary key here then nothing changing

  alias_attribute :user_id, :id_a_users # does not work too
end

Таблицы:
A_USERS:
    ID  NUMBER(38,0)

  A_USERPRIVILEGES:
    ID     NUMBER(38,0)
    ID_A_USERS NUMBER(38,0)
  • Вопрос задан
  • 2799 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы