gpt4 book ai didi

ruby-on-rails - 如何一键获取子模型(记录)?

转载 作者:行者123 更新时间:2023-12-04 05:59:20 25 4
gpt4 key购买 nike

我正在开发 Rails 3.2.6 应用程序。我有一个 Status 模型、一个 Event 模型和一个 Photo 模型。

事件

Has_many :statuses

状态

Belongs_to :event
Has_one :photo

照片

Belongs_to :status

我想获取属于选定事件的所有状态消息(这很好用)但是我还想获取属于每个状态消息的照片。我该怎么做?

这是我获取属于事件的状态消息的方式:

@event = Event.find_by_id (params[:event_id])
@event.statuses

如何在输出中获取每个状态消息的关联照片?我已经开始了,我想我应该做这样的事情?但这只能得到照片并且不会将它们与各自的状态消息“合并”。

@photos = @event.statuses.collect {|status| status.photo}

最佳答案

如果你想减少查询,你可以像下面那样做

@statuses = Status.where(:event_id=>params[:event_id]).includes(:photo).all

那么你就可以这样访问了

@statuses.each do |status|
status.event_id # access the status
status.photo # access the photo
# status.nil? will check whether photo is there or not
end

关于ruby-on-rails - 如何一键获取子模型(记录)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12006544/

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