Как указано в Потрясающие возможности Rails 5
Turbolinks был частью Rails с версии 4, возможно, это одна из функций, которые люди ненавидят или любят; здесь нет золотой середины.
С Rails 5 мы получим новую версию, в которой с помощью пользовательских атрибутов данных HTML5 мы ожидаем более высокой скорости и рендеринга в наших приложениях Rails.
Наиболее значительным изменением в этой новой версии является функция частичной замены. Со стороны клиента мы сможем сообщить Turbolinks, какой контент нам нужно изменить/заменить, а какой нет.
Turbolinks будет искать пользовательские атрибуты HTML5 и определять стратегию замены в нашем файле .
Чтобы вызвать замену на стороне клиента, мы могли бы использовать или обновить наш файл . Разница между и заключается в том, что первый выдает серверу запрос на получение HTML-кода, который необходимо использовать для замены нашего, а ожидает от нас HTML-код, который следует использовать для его работы.
С помощью обеих функций мы можем передать хэш с или массивом HTML-элементов в или.
Action Result
Turbolinks.visit(url, { change: ['entries'] }) Will replace any element with custom attribute and any element with its id listed in change.
Turbolinks.visit(url) Will keep only elements with custom attribute and replace everything.
Turbolinks.visit(url, { keep: ['flash'] }) Will keep only elements with custom attribute and any element with its id listed in keep, everything else will be replaced.
Turbolinks.visit(url, { flush: true }) Will replace everything
Мы можем активировать ту же функциональность со стороны сервера с помощью и , оба могут получать , и в качестве параметров, но также можем получать или принудительно перенаправлять с турбоссылками или без них.
Нравится вам Turbolinks или нет, сейчас самое время попробовать и выяснить, подойдет ли он для вашего приложения.
person
Sumit Munot
schedule
20.11.2015