Это отдельный вопрос, но он связан с более ранним вопросом: Трехстоечное соединение в Rails с Active Scaffold . Подводя итог: Rails автоматически ищет таблицу соединения из двух столбцов, но не делает то же самое для таблицы соединения из трех столбцов. Я попробовал предложения в предыдущем вопросе, но все сводится к следующему:
Если у вас есть модели Project, Employee, Role и у каждого есть отношение habtm к двум другим, rails будет выполнять каждое отношение отдельно, но не в целом.
class Employee < ActiveRecord::Base
#has_many :employees_projects_roles
#has_many :roles, :through => :employees_projects_roles
#has_many :projects, :through => :employees_projects_roles
has_and_belongs_to_many :roles
has_and_belongs_to_many :projects
end
повторяется для проекта, роль следует
class Role < ActiveRecord::Base
#has_many :employees, :through => :employees_projects_roles
#has_many :projects, :through => :employees_projects_roles
has_and_belongs_to_many :employees
has_and_belongs_to_many :projects
end
У меня такой вопрос, так как rails ищет employees_projects, projects_roles
, а employees_roles
, но не employees_projects_roles
, есть ли способ присвоить этим именам реальное имя таблицы и по-прежнему разрешать функции CRUD в базе данных (MySQL или PostgreSQL )?
[Изменить]
Упс. Я должен перестать отвечать и задавать вопросы публично, пока мне не хватило кофе. Изменена закомментированная часть с hmt на habtm. Включена закомментированная часть кода, отражающая различные варианты, которые я пробовал.