Creo que lo que estoy tratando de hacer es bastante simple, y realmente no estoy seguro de por qué esto no está funcionando. Estoy usando Rails 3.Ruby/Rails - .ete iterator está imprimiendo una matriz completa al final del ciclo
Esencialmente, estoy tratando de seleccionar los valores distintos de una columna en un modelo existente, e imprimirlos todos. En su mayor parte, esto funciona, pero el .each loop en mi vista también termina imprimiendo todo el conjunto al final del ciclo. (
que un modelo llamado Lugares de interés, y cada atracción tiene una categoría (en este momento la categoría está codificada en la base de datos para simplificar).
Este es el modelo de atracción y un método de clase "all_categories" definidos .. .
class Attraction < ActiveRecord::Base
def self.all_categories
Attraction.select("DISTINCT category")
end
end
Este es el controlador de atracción
class AttractionsController < ApplicationController
def index
@categories = Attraction.all_categories
@attractions = Attraction.find(:all)
end
def show
@attraction = Attraction.find(params[:id])
end
end
Este es el código en mi opinión de que está causando problemas - no es ciencia de cohetes, ju st un simple iterador, ...
<%= @categories.each do |c| %>
<%= c.category %><br/>
<% end %>
Bastante simple, ¿no? Todo esto está bien correr, pero esto es lo que veo cuando ese segmento de código es ejecutado:
Architecture
Art
Fashion
Music
[#<Attraction category: "Architecture">, #<Attraction category: "Art">, #<Attraction category: "Fashion">, #<Attraction category: "Music">]
¿Por qué es la matriz al final impresa? Todo lo que quiero es una lista de las categorías:
Architecture
Art
Fashion
Music
Obviamente, soy nuevo a Ruby/Rails, y he tratado de buscar por todas partes para una solución a esta. ¿Hay algo obvio que me estoy perdiendo?
Agradecer cualquier ayuda.
¿Es exactamente la misma línea? – shingara
'<% =' vs '<%' ... – DigitalRoss
¡Muchas gracias! – tarunsachdeva