我有一个非常简单的rails 3.0.7应用程序,我试图控制何时将帖子发布到网站的常规访问者,只需通过一个简单的选择器表单创建或编辑帖子。
什么是接近这项任务的最佳方式,我在轨道上有点生疏,并且不知道如何开始!?
干杯丹
答案 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