Yapmaya çalıştığım şeyin oldukça basit olduğunu düşünüyorum ve bunun neden çalışmadığından emin değilim. Rails kullanıyorum 3.Ruby/Rails - .each Iterator, döngünün sonundaki tüm diziyi yazdırıyor
Temel olarak, yalnızca varolan bir modeldeki bir sütundan farklı değerleri seçmeye çalışıyorum ve hepsini yazdırın. Çoğunlukla, bu çalışır, ancak benim görüşümdeki .each döngüsü de, döngü sonunda tüm diziyi yazdırmayı bitirir. (
Turistik adında bir modeli ve her cazibe) şu anda Kategori basitlik için DB kodlanma Bir Kategori (vardır ben.
Bu Gözde mekan Modeli ve bir sınıf yöntemi tanımlanan "all_categories" dir .. . hiçbir roket bilimi, ju -
class Attraction < ActiveRecord::Base
def self.all_categories
Attraction.select("DISTINCT category")
end
end
Bu
Bu sorun neden oluyor Bence kodudur Gözde mekan Kontrolörclass AttractionsController < ApplicationController
def index
@categories = Attraction.all_categories
@attractions = Attraction.find(:all)
end
def show
@attraction = Attraction.find(params[:id])
end
end
olduğunu st basit bir yineleyici, ...
<%= @categories.each do |c| %>
<%= c.category %><br/>
<% end %>
Oldukça basit, değil mi? Bu, tüm çalışan gayet ANCAK bu bu kod segmenti çalıştırıldığında gördüklerimi geçerli:
Architecture
Art
Fashion
Music
[#<Attraction category: "Architecture">, #<Attraction category: "Art">, #<Attraction category: "Fashion">, #<Attraction category: "Music">]
Neden sonunda dizisi yazdırılır? Tek istediğim kategorilerin bir listesi:
Architecture
Art
Fashion
Music
Açıkçası, Ruby/Rails yeniyim, ve bu konuya bir çözüm baştan aramak için çalıştık. Eksik olduğum belli bir şey var mı?
Herhangi bir yardımı için teşekkür ederiz.
tam olarak aynı satırı yapabilir misiniz? – shingara
'<% =' vs '<%' ... – DigitalRoss
Çok teşekkür ederim! – tarunsachdeva