Каков наилучший способ отображения данных электронных таблиц в Ruby on Rails? - PullRequest
2 голосов
/ 12 января 2009

Я ищу способ редактировать данные и динамически вычислять значения (т. Е. Итоги, средние значения и т. Д.). Моё приложение представляет собой систему дневников для учителей, основанную на Интернете, и одной из больших проблем является возможность ввода / обновления оценок , Наиболее естественным решением для этого типа данных является таблица или таблица электронных таблиц, и моей первой мыслью было написать что-то самому, но я быстро справился с этой идеей. :)

Главная проблема, с которой я сталкиваюсь, - это возможность вычислять вещи в реальном времени. Когда учитель меняет оценку, мне нужна таблица, чтобы обновить AVG% учащихся и, возможно, их буквенную оценку. Не нужно передавать эти расчеты обратно на сервер (они только для демонстрации), но изменения ячеек должны быть сохранены (через AJAX).

Я знаю, что это должно быть часто задаваемые вопросы, и я нашел эти два ответа ( 1 , 2 ), но мои требования немного отличаются (я думаю). Прежде всего, я ищу что-то, что довольно хорошо интегрируется с RoR; это означает использование Prototype. Это должно также быть довольно легким и чистым; Мне не нужны такие причудливые вещи, как картинки, подгруппы и т. Д. Наконец, поскольку мой проект находится под лицензией GPL, он должен быть с открытым исходным кодом.

Есть намеки? Прямо сейчас я смотрю на TableKit & Rico LiveGrid , но я не уверен, что они могут выполнять вычисления строк и столбцов, которые мне нужны.

Ответы [ 3 ]

1 голос
/ 13 января 2009

Я думаю, что ExtJS имеет что-то вроде этого. Стоит проверить это: http://extjs.com/

0 голосов
/ 14 января 2009

После поиска чего-то легкого и простого в использовании, я сдался и пишу свои собственные маленькие кусочки JavaScript, чтобы выполнить свою ставку за меня. Это не идеально, но, кажется, работает довольно хорошо, и удовлетворяет мои потребности (пока).

0 голосов
/ 14 января 2009

Сохранение в базе данных может быть самым простым. Подсчитайте и сохраните нужные вам вещи, затем обновите представление.

Я не уверен, как работает ваш пользовательский интерфейс, но вы можете прикрепить событие AJAX к пользовательскому интерфейсу, где они вводят информацию, сохраняя данные. Контроллер может отвечать на javascript, перетаскивая в шаблон RJS, который обновит нужные вам значения на странице.

...