0

我正在运行 Rails 3.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 回答