Если эмодзи очень много, удалять их по одному — огромная работа.
Вы можете посмотреть Административные массовые операции.
Что-то вроде этого должно сработать:
remove = Post.where("raw like '%:some_emoji%'")
remove.each do |post|
new_raw = post.raw.gsub(":some_emoji", "")
if new_raw != post.raw
PostRevisor.new(post).revise!(
post.user,
{ raw: new_raw },
bypass_bump: true,
edit_reason: "Удаление эмодзи, которые нам больше не нравятся",
bypass_rate_limiter: true,
)
end
end
Вам следует протестировать этот код, но он создаёт правки, которые можно отменить.
Если вы не хотите создавать правки, вместо PostRevisor можно использовать post.raw = new_raw; post.save.
Спасибо! Это очень помогло