行数が不明なユーザー提供のCSVファイルからデータを読み取っています。行を繰り返し処理し、各行を個別にデータベースに挿入するのではなく(パフォーマンスによって多数の挿入が損なわれる可能性があります)、値を1つの文字列に連結します。
insert_values += ", (#{params[:quantity]}, #{'#{params[:name]}', '#{Time.now.to_s(:db)}')"
次に、完全なSQLクエリを作成します。
sql = "INSERT INTO `my_table` (`quantity`, `name`, `created_at`) VALUES"+insert_values
最後に、私はそれを実行します:
ActiveRecord::Base.connection.execute(sql)
悪意のあるインジェクションからデータを安全にしたいと思います。これを行うための最良の方法は何ですか?