Ruby on rails 避免数据库中的重复数据(用于Rails)
我有五张桌子,我正努力让它们配合得很好,但可能需要一些帮助 我有三张主要的桌子:Ruby on rails 避免数据库中的重复数据(用于Rails),ruby-on-rails,database-design,duplicate-data,Ruby On Rails,Database Design,Duplicate Data,我有五张桌子,我正努力让它们配合得很好,但可能需要一些帮助 我有三张主要的桌子: 帐目 成员 和角色 有两个连接表 会员帐户 和帐户成员角色 账户和成员表由账户成员(fk账户id和成员id)表连接 其他两个表就是问题所在(角色和帐户成员角色) 一个帐户的成员可以有多个角色,我有一个帐户成员角色(fk帐户成员id和角色id)表连接帐户成员连接表和角色表 这似乎合乎逻辑,但您是否可以与联接表建立关系?我希望能够做的是创建帐户时,例如,我希望@account.save包含角色并整齐地更新帐户\
- 帐目
- 成员
- 和角色李>
- 会员帐户
- 和帐户成员角色
accept_nested_attributes_for :members, :account_member_roles
在account.rb中,但我得到
ActiveRecord::HasManyThroughCantAssociateThroughHasManyReflection (Cannot modify association 'Account#account_member_roles' because the source reflection class 'AccountMemberRole' is associated to 'AccountMember' via :has_many.)
在试图保存记录时
我该如何处理这个问题,有什么建议吗
中情局
-蚂蚁在这里阅读:
一个简单的
_和_属于多个联接表和
a有很多:通过连接模式是什么
联接模型可以具有属性
除了
它正在加入。事实上,如果你
你没有其他的属性吗
可能不会使用联接模型和
将满足于一个联接表
因此,您似乎想使用has_many:到,您将被设置。如果我读对了,您有: 民政事务局议员帐户 成员habtm账户 成员有许多角色 如果这是正确的,您只需要在帐户和成员之间建立一个联接表,然后在成员和角色之间建立一个常规的FK@account.members和@account.members.roles都可以让您访问所需的属性,@account.save应该可以毫不费力地保存整个混乱
我不知道是什么迫使你拥有这个帐户\成员\角色表。我不知道Rails是否能处理这个问题。我知道我当然不能。:) 我用的有很多:thorugh。可能问题在于,在尝试创建加入模型帐户成员角色之前,尚未创建加入模型帐户成员的主键。这似乎是我真正的问题,我能让连接模型彼此关联吗?我不明白为什么不能,只要你能处理复杂性:)如果Sleepycat描述了正确的问题,我支持这个解决方案。你描述了你如何解决问题,但你没有描述你试图解决的问题@Sleepycat(如下)描述了一个问题。这就是你要解决的问题吗?