У меня есть настройка, где я хочу, чтобы создать запись о роли, чтобы указать на навыки пользователей, места, постановки, группы и так далее.has_many через невидимые проверки?
я поставил его как есть много через отношения с все, что происходит, хотя роли и роли, принадлежащие всем, как так:
class Role < ApplicationRecord
belongs_to :user
belongs_to :skill
belongs_to :production
belongs_to :venue
belongs_to :project
belongs_to :group
end
и установить отдельные категории ролей, как так:
class Group < ApplicationRecord
has_many :users, through: :roles
end
Все те же, за исключением пользователей, которые, конечно, имеют множество деталей для модели.
Каждая таблица имеет поле имени и поле id, а также стандартные поля метки времени.
Я установил его для индексирования имен для каждой таблицы.
Когда я пытаюсь создать роль в качестве записи с помощью только role_id, user_id и skill_id, я возвращаю ошибки в консоли, говоря, что мне нужны значения для всего.
Означает ли это, что мне нужно построить has_many через отношения для каждого типа роли с его собственным «сквозным»? Или может ли кто-нибудь заглянуть в таблицу, как я себе представляю? И почему он пытается проверить наличие данных для каждого поля? Это будет связано с индексацией?
Если бы я хотел отменить эту проверку, я даже не знаю, где разместить код, так как я не уверен, откуда происходит валидация.
это не позволит мне продвигать вас, потому что я грязный NOOB, но спасибо! followup: Должен ли я моделировать это по-другому? – Jeremy
Обновлен ответ, чтобы добавить необязательный флаг. Я думаю, что это может быть лучший подход. – oreoluwa
Если вы не можете повышать, вы можете принять ответ, если он решает вашу проблему. – oreoluwa