如何让rails博客在主页上显示随机帖子?

时间:2014-05-03 19:18:55

标签: ruby-on-rails ruby-on-rails-4

我想要的是,每当有人登陆我的博客时,他们都会在主页上看到一个随机帖子。什么是在控制器中定义一个方法的最佳方法,我可以调用这个方法来实现这个目的?

谢谢!

2 个答案:

答案 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)