【发布时间】:2016-12-03 13:29:38
【问题描述】:
我有一个设置,我希望能够建立一个角色记录来指向用户技能、场所、制作、组等。
我将其设置为与所有事物之间存在多重关系,通过角色和属于所有事物的角色:
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 through 关系及其自己的“通过”?或者一个 has_many 可以按照我设想的方式通过餐桌工作吗?为什么要尝试验证每个字段的数据是否存在?会不会是索引造成的?
如果我想关闭该验证,我什至不确定将代码放在哪里,因为我不确定验证来自哪里。
【问题讨论】:
标签: ruby-on-rails validation has-many-through has-many ruby-on-rails-5