从Rails管理员列表中删除而不从实际博客中删除它们

时间:2014-02-18 04:27:49

标签: ruby-on-rails rails-admin

我很抱歉,如果已经问过这个问题,但我已经遍布stackoverflow并搜索了它。

我正在创建一个rails应用程序,该应用程序从大多数rails教程中获取“简单博客”概念,并添加了一个管理面板,用于确定提交的帖子是否实际发布到主站点。我遇到的问题是有数百个帖子,它们都显示在管理面板中。从面板中删除它们的所有选项也会从站点中删除它们。

是否可以删除管理网站上发布的博客帖子而不将其从主站点中删除,或者更好地保留它们?我想,一旦有成千上万的问题,这会导致速度问题。

2 个答案:

答案 0 :(得分:0)

这可能会帮助您解决问题:

  

注意:在posts表格中添加一个额外的字段作为“status”   实际上存储帖子。

  1. 在我的博客中创建了一个帖子,让我们假设其状态为“待定”。

  2. 在我的管理员中,我只会显示状态为“待定”的帖子

  3. 现在从管理员面板点击“approv”之类的按钮,然后我会将帖子的状态从“待定”更改为“已发布”

  4. 多数,你的问题已经解决了

    • 未删除的帖子

    • 没有太多帖子

答案 1 :(得分:0)

通常RailsAdmin使用其默认范围显示模型的所有记录。你能做什么:

创建一个模型,比如UnpublishedBlog

class UnpublishedBlog < ActiveRecord::Base
  self.set_table_name "articles"

  default_scope where(:published => false)

  def destroy
    update_attribute(:published, true)
  end
end

因此,它将加载所有未发布的博客,当您删除任何博客时,它将刚刚发布并最终从未发布的列表中删除。

如果您不想在Blog中看到原始RailsAdmin模型,只需将其从设置中排除。