Tag: 种子播种

如何通过接受嵌套属性的多对多关系创建新记录?

Organization和User通过Relationship进行多对多关联。 最初我实现了这个1对多的关联,但是现在我需要通过关联来成为多对多关系。 所以我创建了Relationship模型并更改了模型文件中的关联。 Organization接受User嵌套属性,就像在我的应用程序中一样,我有两个连接的注册表单。 另外,我在我的种子文件中使用它: Organization.create!(name: “name”, …).users.create(email: “email@email.com”, …) 这是一个1对多的关联,但现在它是一个多对多的通过关联,它产生播种错误: Validation failed: Member can’t be blank, Moderator can’t be blank 这指的是Relationship模型的变量, User和Organization通过该变量关联。 导致此错误的原因; 为什么这些值是空白的? 对于多对多关联, Organization.create行可能不正确吗? member和moderator具有默认值(请参阅迁移文件)。 我希望它能用默认值创建organization , user和relationship 。 我还应该如何创建新的组织和用户? 组织模式: has_many :relationships, dependent: :destroy has_many :users, through: :relationships accepts_nested_attributes_for :relationships, :reject_if => :all_blank, :allow_destroy => true validates_associated :users 关系模型: belongs_to :organization […]