Я новичок в магистрали и тестирую свое первое приложение после прохождения нескольких учебных приложений.Пользовательские маршруты отдыха Backbone.js
мне было интересно, что это лучший способ для выполнения следующих
На внутреннем интерфейсе (рельсов)
У меня есть название модели бизнес, Это сложная модель с большим количеством атрибутов, он имеет связанный адрес (has_one :address
), и у него есть аватар, а другой профиль - яма и многое другое.
Из моего внешнего интерфейса я хочу иметь возможность получать и обновлять определенные части бизнес-профиля. Предположим, что я хочу только получить basic_info, который включает имя, категорию и адрес, чем я хочу, чтобы иметь возможность обновлять изображение профиля и аватар.
То, что я видел в позвоночнике, что модель имеет методы сохранения, обновления, принеси, уничтожить
Что делать, если я хочу, чтобы другие методы, такие как fetch_basic_info
, fetch_profile_picture
, update_profile_picture
? и против них я хочу, чтобы соответствующие представления были уведомлены соответствующим образом.
Вот что я придумал
Допустим, я хочу получать основную информацию
добавить функцию
fetch_basci_info
к магистральной модели- внутри этой функции Написать пользовательский запрос ajax с использованием
$.ajax
на сервер - вручную активировать событие
"basicinfo:fetched"
- внутри этой функции Написать пользовательский запрос ajax с использованием
внутри моей функции маршрутизатора
- создать модель объекта
- создать новый вид позволяет говорить
BasicInfoView
и передать его модель объекта - внутри зрения связать даже модели позволяет скажем
model.bind('basicinfo:fetched', this.render)
- , когда маршрутизатор инициализируется вызовом
model.fetch_basic_info
(в маршрутизаторе init)
Так маршрутизатор называется он создает вид связывает пользовательское событие и вызывает model.fetch_basic_info()
запрос отправляется ответ сервера возвращается (я называю установить вручную, чтобы установить атрибуты скелетной модели здесь). После этого пользовательское событие события запускается, уведомление отображается и отображается
Это мое первое реальное базовое приложение, поэтому, если я делаю что-то действительно, не останавливай меня.
Что вы думаете об этом.
Благодарим вас за чтение и feedbcak.
разрушение - это крутая идея, но разве я не буду писать свой сервер для поддержки этих моделей? – Abid
Не думаю, что с вашим подходом. Как вы собираетесь обрабатывать свои отдельные методы отбора, и т. Д. Fetch_basic_info, fetch_profile_picture – lecstor
Рассмотрите также вопрос @ reach4thelasers. Если у вас может быть одна модель, и каждое из ваших представлений может изменить все, что им нужно, и сохранить ее, все будет намного проще как на клиенте, так и на бэкэнд. Вы можете всегда оптимизировать позже, если вам посчастливилось это сделать. – lecstor