gpt4 book ai didi

ruby-on-rails - Ruby/Rails - .each 迭代器在循环结束时打印整个数组

转载 作者:数据小太阳 更新时间:2023-10-29 06:28:16 24 4
gpt4 key购买 nike

<分区>

我认为我正在尝试做的事情非常简单,而且我真的不确定为什么这不起作用。我正在使用 Rails 3。

本质上,我只是想从现有模型的列中选择不同的值,然后将它们全部打印出来。在大多数情况下,这是可行的,但在我看来,.each 循环也会在循环结束时打印整个数组。 (

我有一个名为景点的模型,每个景点都有一个类别(现在为简单起见,类别在数据库中硬编码)。

这是吸引力模型和定义的类方法“all_categories”...

class Attraction < ActiveRecord::Base

def self.all_categories
Attraction.select("DISTINCT category")
end

end

这是吸引力 Controller

class AttractionsController < ApplicationController
def index
@categories = Attraction.all_categories
@attractions = Attraction.find(:all)
end

def show
@attraction = Attraction.find(params[:id])
end
end

在我看来,这是导致问题的代码 - 没有火箭科学,只是一个简单的迭代器,......

  <%= @categories.each do |c| %>
<%= c.category %><br/>
<% end %>

很简单,对吧?这一切都运行良好,但这是我在运行该代码段时看到的:

Architecture
Art
Fashion
Music
[#<Attraction category: "Architecture">, #<Attraction category: "Art">, #<Attraction category: "Fashion">, #<Attraction category: "Music">]

为什么打印最后的数组?我只想要一个类别列表:

Architecture
Art
Fashion
Music

很明显,我是 Ruby/Rails 的新手,我曾尝试到处寻找解决方案。有什么明显的东西是我遗漏的吗?

感谢任何帮助。

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