Помогите назвать модель в Rails - PullRequest
1 голос
/ 28 февраля 2011

У меня есть модель пациента и модель клиента.Пациент может иметь много клиентов, и клиент может иметь много пациентов.Я хочу создать модель для ассоциации.Как я это называю?

Клиент - это больница или кабинет врача.Пациент - это тот, кому необходимо образование в больнице или офисе врача.

Ответы [ 3 ]

2 голосов
/ 28 февраля 2011

Что за клиент? Это какой-то доктор?

Как насчет registrations или enrollments?

Тогда у вас будет:

# client 
has_many :enrollments
has_many :patients, :through => :enrollments

# patient
has_many :enrollments
has_many :clients, :through => :enrollments
0 голосов
/ 28 февраля 2011

Если вам нужен доступ к классу модели, вам, вероятно, не нужно использовать ассоциацию «многие ко многим», а:

has_many :through

ассоциацию, которую вы можете назвать по своему усмотрению.

Ассоциация «многие ко многим» имеет только соглашение об именах таблиц (в вашем примере client_patients), потому что вам не требуется прямой доступ к модели кросс-таблицы.

0 голосов
/ 28 февраля 2011

Если вы хотите следовать соглашениям, то имена в таблице соединений должны быть отсортированы в алфавитном порядке:

# create_clients_patients.rb
create_table "clients_patients", :id => false do |t|
  t.column "client_id", :integer, :null => false
  t.column "patient_id",  :integer, :null => false
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...