replace_html или insert_html - PullRequest
       7

replace_html или insert_html

0 голосов
/ 11 ноября 2009

Привет, приятели стека и переполнения. Я новый ученик рельсов. Мой вопрос: я перечисляю все элементы в индексе, а также я использую некоторые Ajax на этой странице, чтобы вставить новые элементы в базу данных. После добавления новых элементов в базу данных, я должен снова получить все элементы из базы данных и заменить весь список элементов или просто добавить новый элемент в список, используя insert_html? Спасибо.

Ответы [ 4 ]

2 голосов
/ 11 ноября 2009

Добавление только новых элементов в список, вероятно, будет более отзывчивым и снизит сетевой трафик. Тем не менее, это также будет немного сложнее для вас, как для программиста, так как вам придется выяснить, куда его вставить и, как правило, лучше управлять состоянием таблицы. Но любой путь может быть правильным.

1 голос
/ 11 ноября 2009

Если вы отслеживаете удаления на стороне клиента через AJAX и обновляете представление вашего клиента как об удалении, так и о вставке, вам не нужно часто заменять все списки. Вероятно, имеет смысл периодически опрашивать сервер, если несколько пользователей одновременно манипулируют данными, чтобы один пользователь не получил устаревшее представление. В этом случае вам, вероятно, следует рассмотреть реализацию Comet, например Juggernaut , чтобы сервер мог передавать данные клиенту, а не полагаться на простой опрос.

Вы также можете рассмотреть возможность увеличения Javascript на стороне клиента и реализовать чистый JSON-обмен между клиентом и сервером. Таким образом, вы только передаете данные от сервера к клиенту и обратно, а браузер клиента обновляет представление на основе JSON с сервера и логики, которую вы строите с помощью Javascript.

0 голосов
/ 11 ноября 2009

Если новые элементы всегда идут внизу, а вы не можете их отсортировать, я просто добавляю новый элемент внизу.

Если вы можете отсортировать их или вам нужно вставить их в определенное место, я бы заново обработал всю таблицу.

Лично я не буду беспокоиться о разнице в производительности, пока она не станет проблемой; Я бы просто пошел с самой простой вещью, которая работала.

0 голосов
/ 11 ноября 2009

Если вас вообще беспокоит большое количество трафика, попадающего на страницу, я бы выложил столько, сколько вы можете, на тихий. Сделайте свою вставку и обновите список соответственно.

...