我需要在Heroku Rails控制台中删除几篇博客文章,而我对此没有足够的经验。
我可以在url中看到博客文章,我可以利用它的文章删除博客文章吗?如果可以,怎么办?
这是这些博客的架构:
create_table "blogs", force: :cascade do |t|
t.string "title"
t.text "body"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "slug"
t.integer "status", default: 0
t.bigint "topic_id"
t.index ["slug"], name: "index_blogs_on_slug", unique: true
t.index ["topic_id"], name: "index_blogs_on_topic_id"
end
我还知道那些特定博客所属的topic_id
,这会有助于我识别和删除那些博客文章吗?
通过执行步骤1:Topic.find(18)
,步骤2:topic = Topic.find(18)
和步骤3:topic.blogs.first
,我能够确定主题中的博客。有什么办法可以删除第一个主题?
答案 0 :(得分:0)
您可以同时使用这两个博客来引用这些博客:
使用子弹:
list = ['slug1', 'slug2',..]
blogs = Blog.where(slug: list)
blogs.destroy_all
使用topic_id
list = ['topic1', 'topic2',..]
blogs = Blog.where(topic_id: list)
blogs.destroy_all
警告
通过slug
进行博客是一种比topic_id
更好的方法,因为主题可能包含更多您不希望删除的博客。
无论如何,在删除之前,请先检查博客,因为这是不可逆的。