Могу ли я еще больше увеличить загрузку моего приложения на Rails? - PullRequest
0 голосов
/ 19 сентября 2018

Я использую гем "layzr-rails" для отложенной загрузки изображений, это работает нормально, но могу ли я как-то сделать что-то еще, чтобы увеличить загрузку страницы?

На моем локальном компьютере требуется всего 6 секунд, чтобызагрузить сайт:

Started GET "/" for 127.0.0.1 at 2018-09-19 00:51:43 +0200
  Processing by SlotsController#index as HTML
  Rendering slots/index.html.erb within layouts/application
  Slot Load (2.0ms)  SELECT "slots".* FROM "slots"
  ↳ app/views/slots/index.html.erb:1
  Rendered collection of slots/_slot.html.erb [1585 times] (5749.7ms)
  Rendered slots/index.html.erb within layouts/application (5783.6ms)
Completed 200 OK in 5906ms (Views: 5888.7ms | ActiveRecord: 2.0ms)

Могу ли я как-нибудь сделать что-то лучше здесь?

Как мне это сделать:

index.html.erb

<%= render @slots %>

_slot.html.erb

<%= image_tag(slot.file_name, size: "200x200", lazy:true, class: 'slot-image') %>

Я хочу отображать столько изображений, сколько пользователь может видеть на экране.В данный момент все 1,5 тыс. Представлений визуализируются, а затем сам контент, изображения, загружаются лениво, если они прокручиваются на экране.

Я довольно новичок в веб-разработке и поэтому не знаюПодходите к тому, как правильно обрабатывать так много изображений на одной странице в реальных приложениях.

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

Вот страница на Heroku: https://secret -reef-56473.herokuapp.com /

Любая помощь или советы действительно очень ценятся!

(Янадеюсь, что это сообщение не противоречит правилам StackOverflow и мой запрос ясен и понятен)

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете попробовать переместить рендеринг частичек во встроенный код и использовать частичное кэширование.Но рендеринг 1,5к изображений просто сумасшедший.Вы думали о бездонной нумерации страниц?рендеринг более разумного количества изображений, и когда пользователь прокручивает, вы проверяете высоту прокрутки и высоту содержимого, и вы можете выполнить ajax-запрос, чтобы загрузить больше изображений, когда пользователь достигнет конца, и так далее, пока не появятсябольше нет изображений для показа.

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