Я думаю, что то, что я пытаюсь сделать, довольно просто, и я действительно не знаю, почему это не работает. Я использую Rails 3.
По сути, я просто пытаюсь выбрать отдельные значения из столбца в существующей модели и распечатать их все. По большей части это работает, но цикл .each, на мой взгляд, также заканчивает печать всего массива в конце цикла. (
Я модель, называемая Attractions, и каждая аттракция имеет категорию (сейчас эта категория жестко закодирована в БД для простоты).
Это Аттракционная модель и метод класса "all_categories" определены...
class Attraction < ActiveRecord::Base
def self.all_categories
Attraction.select("DISTINCT category")
end
end
Это контроллер аттракционов
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, и я попытался найти решение для всего этого. Есть ли что-то очевидное, что мне не хватает?
Оцените любую помощь.