如何清理此 SQL 查询?

How can I sanitise this SQL query?

我正在 Post 模型中编写一个 SQL 查询来搜索数据库以将查询与 post 的正文相匹配。我正在使用 Brakeman gem 来帮助审核应用程序的安全性,它返回的 SQL 查询易受注入攻击。

查询,

def self.search(search)
    where("body LIKE '%#{search}%'")
end

Post 控制器,

if params[:search]
    @posts = Post.search(params[:search]).order("created_at    DESC").paginate(page: params[:page], per_page: 5)
else

你应该使用这个:

def self.search(search)

        where("body LIKE ?", "%#{search}%")
end