0

http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_manyRails HAS_MANY через вспомогательные методы с использованием не-первичных ключей

Firm класс объявляет has_many :clients, добавит:

Firm#client_ids 
Firm#client_ids= 

Есть ли способ изменить ассоциации, такие, что следующие хелперы генерируются с использованием непервичные ключи из таблицы клиентов.

Firm#client_uuids 
Firm#client_uuids= 

В моей таблице соединений используются UUID, а has_many через отношения объявляют правильные первичные и внешние ключи. Однако эти вспомогательные методы не обновляются.

+0

Я не знаю, но использует опцию primary_key для доступа? Я не думаю, что это изменит эти методы. Возможно, это идея с псевдонимом этих методов в вашей модели фирмы? Также см .: http://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/PrimaryKey/ClassMethods.html –

ответ

0

Nope. Именование там происходит потому, что это .id клиентов. Вы могли бы псевдоним метода, если бы вы действительно заботились об этом наименовании.

ИМХО обычно грубо использовать атрибуты имени _uuid; тот факт, что это UUID/GUID/Integer/etc. не должно отражаться в наименовании +, является деталью реализации. Я все еще ношу себя на схемах, которые я сделал, а затем необходимо изменить стратегию первичного ключа.

Смежные вопросы