这对单独的类别有效,但我希望 :active 选项卡包含所有作品,因此我需要获取所有-6ren">
gpt4 book ai didi

ruby-on-rails - 如何从特定模型中获取所有名称

转载 作者:数据小太阳 更新时间:2023-10-29 08:57:42 26 4
gpt4 key购买 nike

我有一个针对类别的投资组合过滤,以便显示每个类别的作品。

它与触发如下作品的data-filter一起工作:

<span class="filter" data-filter=".<%= c.name.downcase.gsub(/[[:space:]]/, '') %>"><%= c.name %></span>

这对单独的类别有效,但我希望 :active 选项卡包含所有作品,因此我需要获取所有类别名称:

<span class="filter active" data-filter="<%= Category.all.map(&:name) %>">Todos</span>

如何检索类别名称,如“name1 name2 name3”...?

谢谢!

最佳答案

如果您想获取每个类别的 name 属性的所有值,请执行以下操作:

Category.pluck(:name) #=> ['name1', 'name2',..., 'name10']

从您所写的内容来看,您希望名称像这样“name1 name2 name3”那样间隔开。然后只需在名称之间加入一个空格即可:

Category.pluck(:name).join(' ') #=> name1 name2 ... name10

@Stefan 提出了一个正确的观点。在 View 层中包含诸如 Category.all 之类的逻辑被认为是不好的做法。相反,您应该将该逻辑放在负责呈现特定模板( View )的 Controller 操作中。

即:

在 Controller 中

def works
@category_names = Category.pluck(:name)
end

可见

<span class="filter active" data-filter="<%= @category_names.join(' ') %>">Todos</span>

关于ruby-on-rails - 如何从特定模型中获取所有名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46079742/

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