Ошибка, вызванная слишком большой строкой при передаче в API визуализации Google - PullRequest
2 голосов
/ 18 июля 2010

Я пытаюсь создать WordCloud через API визуализации Google .Вы должны создать google.visualization.DataTable и добавить строку в ячейку таблицы.Я в основном скопировал приведенный выше пример и передал в виде простой строки несколько слов (@ note.articletext), и WordCloud работал нормально.

    <script type="text/javascript">
      google.load("visualization", "1");
      google.setOnLoadCallback(draw);
      function draw() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Text1');
        data.addRows(1);
        data.setCell(0, 0, '<%= @note.articletext %>');

        var outputDiv = document.getElementById('wcdiv');
        var wc = new WordCloud(outputDiv);
        wc.draw(data, {width:300, height:300});
      }
    </script>

Но я хочу создать WordCloud на основеСтатья, которая (очевидно) является очень большой строкой.Когда я передаю строку, содержащую всю статью, я получаю следующую ошибку:

unterminated string literal
data.setCell(0, 0, 'There was a da...ne ended with a time-out in his crib.

Опять же, эта ошибка не возникает, когда я передаю небольшую строку, поэтому она вызвана размеромстрока.Или потенциально у google.visualization.DataTable есть предел того, насколько большой может быть отдельная ячейка (хотя я не могу найти упоминания о таком ограничении).Кто-нибудь знает, как я могу это исправить?Спасибо за чтение.

Редактировать: На случай, если это важно, я использую Ruby on Rails.

1 Ответ

2 голосов
/ 20 июля 2010

Текст, который вы добавляете в ячейку данных, скорее всего, занимает несколько строк, вызывая ошибку «неопределенный строковый литерал».

Попробуйте разобрать текст и поместить все это в одну строку.Или добавляйте ячейки построчно.

...