J'ajoute une nouvelle colonne, summary
, à une table existante. Il contiendra un extrait en texte brut du code HTML de la colonne body
.Comment exécuter une migration de modification de données qui utilise strip_tags?
Je souhaite créer des résumés pour tous les e-mails existants lors de la migration. Cependant, je n'arrive pas à comprendre comment utiliser strip_tags dans ma migration.
Voici ce que j'ai jusqu'à présent:
class AddSummaryToEmails < ActiveRecord::Migration
self.up
add_column :emails, :summary, :string, :limit => 100
Email.reset_column_information
Emails.all.each do |email|
email.update_attributes(:summary => strip_tags(email.body))
end
end
...
end
Bien sûr, cela ne fonctionne pas: undefined method 'strip_tags' for #<ActiveRecord::ConnectionAdapters::MysqlAdapter:0xb6e29be8>
Comment puis-je accéder à la méthode strip_tags dans mon migration? Je sais que je peux exécuter une expression rationnelle ou une autre solution de contournement, mais je suis toujours désireux de savoir comment faire cela pour un usage futur.
Merci
Ah, merci! J'ai essayé d'inclure 'ActionView :: Helpers :: SanitizeHelper' et je suis resté coincé. * Retourne à Ruby OO 101 :) * – nfm