gpt4 book ai didi

ruby-on-rails - 如何访问模型子项的不同父项

转载 作者:行者123 更新时间:2023-12-04 03:45:48 25 4
gpt4 key购买 nike

我正在向一个不是我制作的旧应用程序添加一项功能,这加上 RoR 相对较新,导致我有些困惑。

我有名为reponseactivity_pointreport的模型

response 有两个父级,它属于 activity_pointreport

我正在尝试访问 do block 的 activity_points ,如下所示:

report.responses.activity_points.activity.each do |a|

显然这是行不通的。我收到错误消息:

undefined method `activity_points' for []:ActiveRecord::Relation

感谢任何能帮助我解决这个小问题的人。

最佳答案

或者您可以将类似的内容添加到您的报告模型中

has_many :responses
has_many :activity_points, :through => :responses
has_many :activities, :through => :activity_points

那么你可以这样做

report.activities.each do |a|

执行此类操作的另一种方法是向 Report 添加一个方法并从另一端加入(以获取事件对象)

def activities
Activity.joins(:activity_points => :responses).where('responses.report_id = ?', id)
end

做这一切的重点是,如果不需要,您就不想创建 Ruby 对象。嵌套循环也是唯一项和排序的潜在问题。

关于ruby-on-rails - 如何访问模型子项的不同父项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32103187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com