0

Rails データベースにインポートしようとしている CSV ファイルがあります。解析を行う rake タスクを作成しました。

task :csv2, [:file] => :environment do |t, args|
  CSV.foreach(args[:file]) do |row|
    issue = {
      "element1" => row[0],
      "element2" => row[3]
    }

  Issue.create(issue)
end

1つの問題を除いて、うまく機能します。CSV のフィールドに html タグと特殊文字 (< p> や " ; など) が含まれている場合があります。各列をデータベースにダンプすると、Rails はすべてをそのままテキストとして読み取ります。Rails に HTML を理解させ、それに応じて調整させるにはどうすればよいですか?

または、これがより良いオプションである場合は、HTML をデータベースにダンプし、ビューを使用して HTML を理解しますか?

Ruby 1.9.3、Rails 3.2.6、SQLite3 3.6.20。

助けてくれてありがとう!

4

1 に答える 1

1

Rails での HTML の理解はありません。それは単なる文字です。

データベースにあるものをビューに表示したい場合は、クロスサイドスクリプティングを防ぐために Rails 3 でサニタイズする必要があります。

rawこれを行うには、コマンドを使用するか、文字列を作成しますhtml_safe

于 2012-07-18T21:24:42.063 に答える