Rails在列表的末尾显示散列



我正在运行Rails 3.2.11。我有一个文章模型:

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

我的控制器(索引操作(是:

类文章控制器<应用程序控制器

  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">]

我怎样才能去掉最后的散列?

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

用这个替换那条线路

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

each返回其迭代的集合。你不需要打印,你已经打印了所有单独的元素。

相关内容

  • 没有找到相关文章