В моем приложении rails я использую устаревшую базу данных.
class Expression < ActiveRecord::Base
set_table_name "EXPRESSION"
set_primary_key "EXP_ID"
belongs_to :sub, :foreign_key => "EXP_SUB_FK"
end
Чтобы сохранить запись в таблице 'EXPRESSION', я использую следующий код в методе моего контроллера:
@expression = Expression.create(
:EXP_ID => 7,
:EXP_SUB_FK => 99991886,
:EXP_STRENGTH => 'strong',
:EXP_ADDITIONAL_STRENGTH => 'intense',
:EXP_COMPONENT_ID => 43444
)
Мне нужно вручную устанавливать EXP_ID каждый раз, когда я сохраняю запись (я получу идентификатор из другой таблицы), но приведенный выше код не сохраняет EXP_ID. Все остальные значения сохраняются за исключением EXP_ID.
Если я закомментирую 'set_primary_key "EXP_ID" в модели Expression, это будет работать, но мне нужно определить EXP_ID в качестве первичного ключа.
Есть ли способ присвоения значения первичному ключу при сохранении записи в базе данных?
Буду признателен, если кто-нибудь даст мне какой-нибудь намек.