2013-06-01 4 views
0

На моем веб-сайте для сообщений с сообщениями я хочу создать страницу и на всех форумах, расположенных в алфавитном порядке. что-то вроде Wikipedia.Категории категорий A-Z

он должен быть динамическим (форумы могут быть созданы или удалены раз в то время).
Как вы это делаете?

+0

Я хочу представить только имя каждого «Форума» obj ЭСТ. –

ответ

2

Вот на контроллере:

@grouped = {} 
Forum.all.each do |forum| 
    # take and capitalize first character from name 
    letter = forum.name.slice(0,1).upcase 
    @grouped[letter] ||= [] 
    @grouped[letter] << forum 
end 

Вот на ваш взгляд:

<ul> 
    <% @grouped.keys.sort.each do |letter| %> 
    <li> 
     <h2><%= letter %></h2> 
     <ul> 
     <% @grouped[letter].each do |forum| %> 
      <li><%= forum.name %></li> 
     <% end %> 
     </ul> 
    </li> 
    <% end %> 
</ul> 

Source

0

Я надеюсь, что это полезно:

1.9.3p362 :002 > ["foo", "bar", "baz", "fuzz", "debian"].group_by {|x| x[0] } 
=> {"f"=>["foo", "fuzz"], "b"=>["bar", "baz"], "d"=>["debian"]} 
Смежные вопросы