Lire les données d'un fichier CSV fourni par l'utilisateur d'un nombre inconnu de lignes. J'itérer sur les lignes et plutôt que d'insérer individuellement chaque ligne individuellement dans la base de données (potentiellement un rendement blesser grand nombre d'inserts), je concaténer les valeurs dans une seule chaîne:Désinfecter les données MySQL dans Ruby on Rails 2
insert_values += ", (#{params[:quantity]}, #{'#{params[:name]}', '#{Time.now.to_s(:db)}')"
je construire ensuite la pleine requête SQL :
sql = "INSERT INTO `my_table` (`quantity`, `name`, `created_at`) VALUES"+insert_values
Enfin, je l'exécute:
ActiveRecord::Base.connection.execute(sql)
Je veux rendre les données en toute sécurité de l'injection malveillante. Quelle est la meilleure façon de procéder?
Malheureusement, Philip, activerecord-est importé pour Rails 3. :( –
rats. Ensuite, vous devez creuser dans 'AR ... connection.escape' pour vous assurer que vous échapper correctement toutes les –
Je prévois de passer à 3 au début de l'année prochaine et j'utiliserai l'importation. –