我是Rails新手,现在正在尝试学习,所以希望有人可以提供帮助。Rails 3:在父节点的其中一个节点上创建子对象时更新多个父节点
我有3个模型用户,意见和投票与一对多的关系。每个user has_many :opinions
和has_many :votes
。每个opinion has_many :votes
和belongs_to :user
。每个vote belongs_to user
和belongs_to opinion
。投票表有以下列:决定(布尔),:opinion_id和:user_id。意见表只有:内容栏。
我的用例是用户添加一个意见,然后其他用户在查看每个意见(显示视图)时可以同意或不同意。
在意见显示视图我想有两个“同意”和“不同意”提交按钮。当用户提交投票时,我需要创建此投票(true或false)并更新投票表的user_id和opinion_id字段。我设法为每个家长单独进行,但不是同时进行两次。任何帮助将非常感激。
如果投票只是 “同意” 或 “不同意” 我建议没有把它单独的模型。把它看作是一个意见模型的一个属性。 'attr_accessible:vote'。然后,当用户点击同意或不同意提交按钮时,update_attribute。如果你想保留投票模型,可以考虑将它与用户模型分开,以便'User has_many:views'和'Opinion has_many:votes',但是投票不属于User_to用户。据我所知用户可以没有意见没有票。 –
感谢您的建议,但我认为它不适用于我的特殊情况。我需要跟踪用户的投票,而他们投票的意见不属于这些用户,即该意见属于另一个用户,并且有多个其他用户的投票。 – Evgeny