在Rails 3中为单个记录使用多个外键?

在Rails 3中为单个记录使用多个外键?,第1张

在Rails 3中为单个记录使用多个外键?

当我开始使用Rails时,我遇到了您的确切问题。如何在确保对association_ids进行保护的同时,在create方法中整齐地设置两个关联

Wukerplank是正确的-您无法通过批量分配设置第二个关联,但仍可以直接在新行中分配association_id。

这种关联分配非常常见,并且在我的代码中乱七八糟,因为在许多情况下,一个对象具有多个关联。

另外,要明确一点:多态关联和has_many:through根本无法解决您的情况。您有两个独立的关联(评论的“所有者”和评论的“主题”)-无法将它们合理化为一个。

编辑:这是您应该如何做:

@student = Student.find_by_id(params[:id])@comment = @student.comments.build(params[:comment]) #First association is set here@comment.user = current_user #Second association is set hereif @comment.save  # ...else  # ...end

通过使用Object.associations.build,Rails会自动创建一个新的“关联”对象,并在保存时将其与Object关联。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5675384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存