Rails新闻网站索引页面

时间:2011-08-19 10:44:10

标签: ruby-on-rails

演示图片:

Demo image

我正在建立一个新闻网站。主页应该显示一些类别的新闻,它看起来像是演示图像。我有类别“本地新闻”,“网络新闻”,“热门新闻”等。

我的索引操作如下:

    def index
      @posts={}
      category_names=%w(Local_News Net_News Hot_News) 
      limits=%w(12 5 5)
      category_names.each_with_index do |name,index| 
        @posts[name]=Post.cate(name,limits[index])
      end          
    end 

models / post.rb

    class Post < ActiveRecord::Base 
       def self.cate(catename,limit)
          joins(:category).where("categories.name=?",catename).limit(limit)
       end
     end      

视图/页/ index.html.haml

     .news-list.list-top
      %h3.ico-news-2
        = link_to "More>>", category_news_index_path("Local_News")
        %span Local News
      =render "news/news",:posts=>@posts["Local_News]   

我不知道我的方法是否正确?

有人帮助我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

1)使用范围。您的方法可以/应该工作,但范围旨在实现此目的。

class Post < ActiveRecord::Base 
  scope cate, lambda { |catename, limit|
    joins(:category).where(:categories => { :name => catname }).limit(limit)
  }
end

2)除了缺少“在您的=渲染线中,它看起来并不奇怪。这有问题吗?