gpt4 book ai didi

ruby-on-rails - ruby 如何读取哈希

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:26:34 27 4
gpt4 key购买 nike

Controller 代码:

def index
@folders = Folder.where(parent_id: 0, user_id: current_user)
@subfolders = Hash.new()
@folders.each_with_index do |folder, index|
@subfolders[folder.id] = { folder.id => Folder.where(parent_id: folder.id) }
end
end

查看:

<% @folders.each_with_index do |folder, index| %>
<td><%= folder.name %></td><br />
@subfolders[index].name
<% end %>

@subfolders[1].to_s 对象本身返回这个结果:

{1=>#<ActiveRecord::Relation [#<Folder id: 2, name: "tt", user_id: 1, created_at: "2014-06-21 19:29:32", updated_at: "2014-06-21 19:29:32", parent_id: 1>]>}

我的问题是,如何在 View 中读取这个@subfolders 哈希?我想在显示父文件夹后显示子文件夹...请帮忙

最佳答案

下面似乎是解决您的问题的更有效的方法,因为它运行 2 个查询,而您的生成一个 n + 1

ids = Folder.where(parent_id: 0, user_id: current_user).pluck(:id)
@subfolders = Folder.where(parent_id: ids).group_by(:parent_id)

关于ruby-on-rails - ruby 如何读取哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24615925/

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