演示图片:
我正在建立一个新闻网站。主页应该显示一些类别的新闻,它看起来像是演示图像。我有类别“本地新闻”,“网络新闻”,“热门新闻”等。
我的索引操作如下:
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]
我不知道我的方法是否正确?
有人帮助我吗?谢谢。
答案 0 :(得分:0)
1)使用范围。您的方法可以/应该工作,但范围旨在实现此目的。
class Post < ActiveRecord::Base
scope cate, lambda { |catename, limit|
joins(:category).where(:categories => { :name => catname }).limit(limit)
}
end
2)除了缺少“在您的=渲染线中,它看起来并不奇怪。这有问题吗?