5

Есть ли резервные механизмы в Ruby on Rails 3.2 и 4.0, если у кого-то отключен JavaScript?RoR с отключенным JavaScript

Как будет реагировать приложение, особенно при использовании запроса ajax. Будет ли это возврат к обычным запросам?

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

Каковы некоторые стратегии, если нет резервной копии по умолчанию.

ответ

0

После некоторых исследований я нашел ответ:

Рубин на Rails использует Ненавязчивый JavaScript для достижения этой цели. Любой запрос Ajax затем грациозно «деградирует» до обычного запроса POST или GET, если javascript отключен. Единственное действие, которое не будет работать из коробки, будет удаляться, поскольку это единственный запрос, который не полностью поддерживается всеми браузерами изначально и требует js.

Узнайте больше о том, что в этом railscast: http://www.youtube.com/watch?v=t_MBLfrKTiE

1

Посмотрите это сообщение. Stop loading the page if Javascript is disabled

В общем, я не могу думать о каком-либо резервном механизме здесь - обратите внимание, что огромная часть запросов, выполняемых рельсами, на самом деле является ajax-запросами, поскольку невозможно отправить PUT или DELETE (вместо запроса на удаление, рельсы отправляют запрос ajax с data: {"_method"="delete"}).

Короче говоря, для меня отключить JS сильно сломает страницу, я проверю ее сегодня.

+0

Это не запрос AJAX, это просто 'Rack :: MethodOverride' промежуточный слой, который ищет' _method' пары в запросе и изменяет глагол соответственно. – synapse

1

Я не очень хорошо знаком с RoR, но я подозреваю, что это больше вопрос о том, как вы разрабатываете свою архитектуру переднего плана. Мое ограниченное понимание заключается в том, что RoR не предоставил javascript «из коробки»; это состояние по умолчанию - создавать представления, которые создают плоский HTML, который вы можете наряжать, как вам нравится, с помощью JS и CSS.

Ваш HTML должен быть написан таким образом, чтобы пользователь мог получить доступ ко всему интересующему их материалу, не полагаясь на JavaScript, чтобы сделать это. Это означает, что вы должны использовать только JS до дополнение опыта. На языке общей практики переднего плана do прогрессив-в-рое.

Смежные вопросы