Ошибка, вызванная тем, что строка слишком велика при передаче в API визуализации Google.

Я пытаюсь создать 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.


person ben    schedule 18.07.2010    source источник


Ответы (1)


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

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

person abarax    schedule 20.07.2010