我有一个非常简单的 rails 3.0.7 应用程序,并试图控制何时将帖子发布给网站的一般访问者,只需在创建或编辑帖子时通过简单的选择器表单即可。
完成这项任务的最佳方法是什么,我有点生疏了,不知道如何开始!?
干杯丹
我有一个非常简单的 rails 3.0.7 应用程序,并试图控制何时将帖子发布给网站的一般访问者,只需在创建或编辑帖子时通过简单的选择器表单即可。
完成这项任务的最佳方法是什么,我有点生疏了,不知道如何开始!?
干杯丹
您可以将布尔值published
或时间戳添加published_at
到Post
模型中,然后将其添加到创建/编辑帖子表单中。
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