Я пытаюсь добавить приложение ember к существующему (большому) rails-приложению. Если это сработает, я бы хотел использовать ember для многих новых областей приложения, но я начинаю с малого.Загрузка экземпляра модели с данными ember, внешними для приложения ember
По существу, пользователь находится на рельсовой странице индекса учащихся, нажимает на одну из многих ссылок для управления IEP учеников, а затем отображается модальный блок, содержащий приложение ember. Когда мы первые шипами это еще в мае, мы сделали это следующим образом:
showDialog: (url) ->
studentId = ...
$('#emberDialog').dialog
open: ->
student = App.Student.find(studentId)
App.Router.router.transitionTo('studentIeps.index', student)
Теперь, когда мы собирание это снова, я нахожу, что в отбойник от Ember V1.0.0-rc.5-80 -gf54e8ef до V 1.1.3 + pre.e0ffbf84 и Ember-данные от V0.13-30 до V1.1.0-beta.3-4 методы Model.find были удалены.
Есть ли поддерживаемый способ сделать это больше? Я пытаюсь создать экземпляр модели, внешней для приложения ember, а затем использовать это, чтобы установить текущий маршрут приложения ember. Halp?
Хотя это будет работать прямо сейчас, я не уверен, что я чувствую себя комфортно развертывание этого производство. App .__ container __. Lookup() - это серьезный взлом во внутренних компонентах. Имеет ли данные Ember полностью удалить публичный api для доступа к хранилищу извне? Или, может быть, есть лучший способ получить экземпляр модели за пределами приложения ember? – user2997895
Я могу понять вашу озабоченность. Двойной __ выглядит взломанным, и это справедливо. Иегуда не хотел, чтобы люди касались внутренних дел из внешнего мира;) Использование роутера в нынешнем режиме, которое вы делаете, играет с внутренними элементами ember. Это не публичный крюк, который обсуждается или документируется на их сайте. Кроме того, они преднамеренно только сделали магазин доступным для контроллеров/маршрутов, чтобы избежать неправильного использования пользователями хранилища (например, на уровне представления, внутри компонентов и т. Д.). – Kingpin2k
Итак, истинный ответ на этот вопрос: «Эмбер больше этого не поддерживает». Спасибо, это на самом деле то, что мне нужно знать :) – user2997895