我正在构建一个应用程序,用户可以决定何时删除他们的帖子,但我不知道如何在Rails 3中执行此操作。
答案 0 :(得分:1)
据我所知,你必须使用cron。
答案 1 :(得分:1)
有时您可以取消激活帖子而不是执行数据库命令“删除”。如果您取消激活,那么您将保留统计信息和评论。
class Post
attr_protected :published_on, :deleted_on
belongs_to :user
scope :published, lambda{ where("published_on >= ?", Time.now).where("deleted_on IS NULL or deleted_at < ?", Time.now)}
end
稍后在您的控制器中:
@posts = @user.posts.published.paginate(params[:page])
答案 2 :(得分:0)
我假设您希望在特定日期(时间)自动删除帖子,并且您的用户可以设置该日期(时间)。要实现这一点,您必须使用cron作业。 Here您可以找到更多相关信息。
另一个(真正的脏)解决方案是每次访问您的应用程序时执行一个方法,并查找需要删除的帖子。