gpt4 book ai didi

ruby-on-rails - 从对象列表中获取关联对象的 Activerecord 列表

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

我是 Rails 的新手,如果这是一个愚蠢的问题,我深表歉意。我试过在网上寻找答案,但我对术语不太确定,所以我发现很难得到答案。

基本上,我有两个模型“组”和“类别”。组有_一个类别,类别属于组。我正在尝试做的是从组列表中获取类别列表。

像这样:

@groups = Group.find(:all)
@categories = @groups.<< insert magic code to get the categories >>

所以我可以在 View 中做这样的事情:

<% @categories.each do |cat| %>  
<%= cat.title %>
<% end %>

问题是我这些胆小鬼无法找出神奇的代码位,甚至无法确切地找出我需要搜索的内容才能学习如何去做。

我尝试过的事情:

@categories = @groups.categories
@categories = @groups.category
@categories = @groups.category.find(:all, :select => 'title')
@categories = Category.find(:all, @groups.categories)
@categories = Category.find(:all, @groups.categories.find(:all, :select => 'title'))

以及其他各种对上述的看法。

我真的很感激一个解决方案和/或指向我可以自己学习的地方的指示!

非常感谢

最佳答案

我明白了!当您不知道它叫什么时,很难知道要搜索什么。使用 Array 类的 map 实例方法,这很容易用纯 Ruby 完成:

categories = groups.map{|g| g.category}

对此的简写方法是:

categories = groups.map(&:category)

map 数组方法为每个元素调用给定的 block ,并将所有返回值滚动到一个数组中。

关于ruby-on-rails - 从对象列表中获取关联对象的 Activerecord 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2082162/

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