Rails博客开发:功能完善与优化
1. 使用 named_scope 筛选文章
在当前阶段,Rails博客会发布数据库中的每一篇文章,无论其发布状态如何。这是因为在 index 动作中使用了查找方法,该方法会从 articles 表中检索所有记录:
@articles = Article.find(:all, :order => "published_at DESC")
若要仅选择已发布的文章,可以在查询中指定条件:
@articles = Article.find(:all, :conditions => { :published => true }, :order => "published_at DESC")
此查询会转换为以下SQL查询:
SELECT * FROM "articles" WHERE ("articles"."published" = 't') ORDER BY published_at DESC
不过,我们不想显示所有已发布的文章。例如,如果一篇文章被设置为已发布,但发布日期在未来,那么这篇文章是预定发布的,应仅在发布日期已到或已过才显示。此时,需要向 find 方法指定两个条件:
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



