Ruby on rails Rails新闻站点索引页

Ruby on rails Rails新闻站点索引页,ruby-on-rails,Ruby On Rails,演示图像: 我正在建设一个新闻网站。主页上应该显示一些类别的新闻,它看起来像演示图像。我有类别“本地新闻”,“网络新闻”,“热门新闻”等等 我的索引操作如下所示: 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|

演示图像:

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

我的索引操作如下所示:

    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      
我不知道我的方法是否正确

有人帮我吗。谢谢。

1)使用示波器。您的方法可以/应该工作,但作用域就是为此而设计的

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

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

谢谢您的回复。它现在可以很好地工作,但我想知道是否有明确的方法来做同样的事情。
class Post < ActiveRecord::Base 
  scope cate, lambda { |catename, limit|
    joins(:category).where(:categories => { :name => catname }).limit(limit)
  }
end