0

Rails3.2.11を実行しています。私は記事モデルを持っています:

class Article < ActiveRecord::Base
  attr_accessible :content, :name
end

私のコントローラー(インデックスアクション)は次のとおりです。

クラスArticlesController<ApplicationController

  def index
    @grouped = {}
    Article.all.each do |article|
      letter = article.name.slice(0,1)
      @grouped[letter] ||= []
      @grouped[letter] << article
    end
  end

これにより、概要ページのすべての記事名のアルファベット順のリストが作成されます。index.html.hamlは次のとおりです。

%p
  %ul
    - @grouped.keys.sort.each do |letter|
      %h1
        = letter
      %ul
        = @grouped[letter].each do |article|
          %li
            = link_to article.name, article

これで、すべての記事名のリストが文字でソートされましたが、特定の文字のすべての記事の最後に、すべてのデータを表示するハッシュがあります。

A

- Albert
- Altman
- Armstrong
[#<Article id: 3, name: "Albert", content: "dpio osahu psauhd asuhd psauh piuh asuhd uh isah iu...", created_at: "2013-01-11 11:51:30", updated_at: "2013-01-11 11:51:30">, #<Article id: 6, name: "Altman", content: "aosdi asoijd poisajpo isajdpoia sjdpoia jsapoij sap...", created_at: "2013-01-11 12:36:10", updated_at: "2013-01-11 12:36:10">, #<Article id: 7, name: "Armstrong", content: "osfduhsdo sdpiuh dspiufh sdpioufhsdioufh sdpiufh sd...", created_at: "2013-01-11 12:42:08", updated_at: "2013-01-11 12:42:08">]

最終的なハッシュを削除するにはどうすればよいですか?

4

1 に答える 1

3
= @grouped[letter].each do |article|

その行をこれに置き換えます

- @grouped[letter].each do |article|

each反復したコレクションを返します。それを印刷する必要はありません。すでにすべての個々の要素を印刷しています。

于 2013-01-11T15:21:50.813 に答える