Локальное хранилище на Rails

0

Я создал приложение Rails, в основном приложение CRUD для заметок/заметок.

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

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

Конечно, основным узким местом является сеть. Вдохновленный Метеор (и мини-монго), я думал, что какое-то местное хранилище может быть решением? IE Когда приложение загружается первым, отправьте ВСЕ JSON клиенту со всеми заголовками заметок. Приложение (front end - Angular JS) может проверять LocalStorage (или Кэш приложения, Web SQL?) Вместо того, чтобы совершать поездку по сети. Обратная связь будет мгновенной.

Я использовал LocalStorage в прошлом, чтобы увеличить приложение, но в сценарии он действительно серьезно зависеть от него. Я не уверен, насколько я уверен, что буду строить что-то, чего у пользователя может не быть. Также, как число пользователей Notes/Memos, я сомневаюсь, насколько возможно отправить объект JSON по кабелю со всеми заголовками заметок. Это может стать довольно большим. С другой стороны, MeteorJS, похоже, делает это без проблем.

Кто-нибудь сделал что-то подобное или имел какие-то указатели? Благодарю!

Теги:
local-storage

1 ответ

0

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

Я думаю, может быть два возможных решения:

  1. Вы можете изменить свои бизнес-требования и разрешить не-уникальный титул. Есть ли необходимость в уникальности названий?

  2. Вы можете подтвердить название заметки, когда пользователь отправляет форму. В этом случае вы можете предоставить предложения для пользователей, чтобы они не тратили время на угадывание вакантного титула.

Или, если титры должны быть уникальными только внутри пользователя (два пользователя могут иметь одинаковый заголовок для своих заметок), вы можете действительно загружать все заголовки заметок в массиве JS и проверять уникальность, пока пользователи печатают в заголовке.

Или вы можете отправить запрос AJAX, проверяя уникальность названия, как только пользователь закончит вводить заголовок. В этом случае вы можете выиграть несколько секунд.

Или вы можете отправить запрос AJAX, как только пользователь напечатает 3 символа. Запрос вернет все заголовки, начинающиеся с этих трех символов, поэтому вам не нужно загружать все заголовки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню