1

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

完成这项任务的最佳方法是什么,我有点生疏了,不知道如何开始!?

干杯丹

4

1 回答 1

1

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

boolean 方法很简单,如果您只想说是否应该发布帖子,则可以使用,而如果您希望能够提前写帖子,然后让它们在某个特定日期自动发布,则可以使用 timestamp 方法或时间。

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

# 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
于 2012-12-21T17:11:47.427 回答