Когда я пытаюсь прогрузить ассоциацию, в 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)