我想要的是,每当有人登陆我的博客时,他们都会在主页上看到一个随机帖子。什么是在控制器中定义一个方法的最佳方法,我可以调用这个方法来实现这个目的?
谢谢!
答案 0 :(得分:4)
假设您在每个帖子的数据库中都有Post模型和记录,请执行以下操作:
def index
@post = Post.offset(rand(Post.count)).first
end
...然后在您的视图中,只显示@post
。
答案 1 :(得分:1)
为避免多次查询,您可以使用DBMS的RANDOM
(MySQL中的RAND
)函数来记录,然后LIMIT 1
。例如,使用MySQL:
@post = Post.order("rand()").limit(1)