メッセージ ボードの Web サイトでページを作成し、すべてのフォーラム内でアルファベット順に配置したいと考えています。ウィキペディアのようなものです。
動的である必要があります (フォーラムは時々作成または削除できます)。
どうやってそれをしますか?
メッセージ ボードの Web サイトでページを作成し、すべてのフォーラム内でアルファベット順に配置したいと考えています。ウィキペディアのようなものです。
動的である必要があります (フォーラムは時々作成または削除できます)。
どうやってそれをしますか?
ここにコントローラーがあります:
@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>
これがお役に立てば幸いです:
1.9.3p362 :002 > ["foo", "bar", "baz", "fuzz", "debian"].group_by {|x| x[0] }
=> {"f"=>["foo", "fuzz"], "b"=>["bar", "baz"], "d"=>["debian"]}