Rails发布后发布任务

时间:2012-12-21 16:54:45

标签: ruby-on-rails

我有一个非常简单的rails 3.0.7应用程序,我试图控制何时将帖子发布到网站的常规访问者,只需通过一个简单的选择器表单创建或编辑帖子。

什么是接近这项任务的最佳方式,我在轨道上有点生疏,并且不知道如何开始!?

干杯丹

1 个答案:

答案 0 :(得分:1)

您可以向published模型添加布尔published_at或时间戳Post,然后将其添加到创建/编辑帖子表单。

布尔方法很简单,如果你只是想说一个帖子是否应该被发布,那么它是有效的,而如果你想能够提前写帖子,那么时间戳方法是有效的,然后让它们自动发布在某个特定的日期或时间。

然后,创建一个范围以轻松检索已发布的帖子。根据您是否选择上面的布尔值或时间戳方法,这看起来会有所不同。

# boolean method
class Post < ActiveRecord::Base
  # ... other stuff
  scope :published, where(:published => true)

  # ...
end

# timestamp method
class Post < ActiveRecord::Base
  # ... other stuff
  scope :published, lambda { where("published > ?", Time.now) }
end

最后,在您想要向用户列出已发布帖子的控制器中,执行以下操作:

class PostsController < ApplicationController
  def index
    @posts = Post.published
  end
end