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