我对Rails还是有点新鲜感。我正在建立一个博客类型的网站,并希望让我的一些帖子“粘性”,就像WordPress的贴纸(坚持顶部)。如何在Rails中制作'sticky'贴子?
我知道你可以通过它的created_at
列来订购帖子,这正是我现在所做的。但是,无论created_at
日期是什么,我怎么会让我的“粘性”帖子保持在我的其他帖子之上?
当前代码:
@posts = Post.all.order('created_at desc')
一切的现在工作的罚款。有我的代码
@posts = Post.order('sticky, created_at desc')
工作正常,一个小问题..
对不起,我忘记提及'sticky'实际上是一个“post type”(字符串)而不是布尔型 – goo
@Jon在这种情况下,您可以执行两个查询:一个用于粘贴,一个用于不粘贴。或者像我上面所建议的那样,改变你的模式以拥有一个布尔属性'sticky'。 – Mischa
@Jon然后你已经做错了。你希望你的“粘性”列是可排序的,并且使用单列设置为“粘性”,“正常”和“未发布”仅仅是错误*,原因很多。使用状态标志:您应该有一个布尔列,'sticky'和一个布尔列'published'。 – meagar