У меня есть проект ember-cli, и я пытаюсь добраться до ember 2.0. Я знаю, что идея заключается в том, чтобы удалить все предупреждения устаревания перед обновлением, но я не знаю, что делать этого:Устранение неисправностей до Ember/Ember-Data 2.0
DEPRECATION: The default behavior of shouldReloadAll will change in Ember Data 2.0
to always return false when there is at least one "foo" record in the store.
If you would like to preserve the current behavior please override shouldReloadAll
in your adapter:application and return true.
[deprecation id: ds.adapter.should-reload-all-default-behavior]
Это предупреждение связано с вызовом, который я делаю для this.store.findAll('foo')
, например.
Насколько я могу судить, исправление этого будет связано с изменением поведения либо ember-data
, либо ember-django-adapter
.
Вот мой (частично) package.json
:
{
"name": "my-app",
"private": true,
"devDependencies": {
"ember-cli": "1.13.13",
"ember-data": "1.13.15",
"ember-django-adapter": "^1.1.1",
}
}
Вот некоторые из моих bower.json
:
{
"name": "my-app",
"dependencies": {
"ember": "1.13.11",
"ember-data": "1.13.15",
"ember-resolver": "~0.1.20",
}
}
Итак, после прочтения немного, я подумал, что я могу просто проигнорировать это предупреждение , и, возможно, поведение shouldReloadAll
не так важно для моего приложения.
Я буду перечислять свои шаги тщательно, потому что я не очень хорошо знаком с npm или беседкой, и я вполне могу делать что-то неправильно.
- Изменение уголек и уголек-данных
"~2.0.0"
везде, где они встречаются вpackage.json
иember.json
npm uninstall ember-data
bower uninstall ember-data
bower uninstall ember
npm cache clear
bower cache clear
npm install
bower install
На данный момент он говорит мне, что я установил [email protected]
и [email protected]
Я затем запустить приложение, и найти следующее сообщение об ошибке:
TypeError: str.replace is not a function
at Object.func (ember.debug.js:35278)
at Object.Cache.get (ember.debug.js:12867)
at decamelize (ember.debug.js:35320)
at Object.func (ember.debug.js:35235)
at Object.Cache.get (ember.debug.js:12867)
at Object.dasherize (ember.debug.js:35324)
at ember$data$lib$system$normalize$model$name$$normalizeModelName (normalize-model-name.js:13)
at ember$data$lib$serializers$json$serializer$$default.extend.modelNameFromPayloadKey (rest-serializer.js:426)
at ember$data$lib$serializers$json$serializer$$default.extend._normalizePolymorphicRecord (rest-serializer.js:161)
at rest-serializer.js:141onerrorDefault @ ember.debug.js:29661exports.default.trigger @ ember.debug.js:51067(anonymous function) @ ember.debug.js:52059Queue.invoke @ ember.debug.js:978Queue.flush @ ember.debug.js:1042DeferredActionQueues.flush @ ember.debug.js:838Backburner.end @ ember.debug.js:166Backburner.run @ ember.debug.js:288run @ ember.debug.js:19125hash.success @ rest-adapter.js:735fire @ jquery.js:3148self.fireWith @ jquery.js:3260done @ jquery.js:9314callback @ jquery.js:9718
Следующая версии:
DEBUG: -------------------------------
vendor.js:15777 DEBUG: Ember : 2.0.2
vendor.js:15777 DEBUG: Ember Data : 2.0.1
vendor.js:15777 DEBUG: jQuery : 1.11.3
vendor.js:15777 DEBUG: -------------------------------
vendor.js:19380 Rendering application with [email protected]:toplevel: Object
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: Эта ошибка, похоже, не связана с устаревшей информацией, в любом объяснении полученной мной устаревания.
Возможный дубликат: [DEPRECATION: поведение по умолчанию для shouldReloadAll будет изменяться в Ember Data 2.0, чтобы всегда возвращать значение false, когда есть хотя бы один] (http://stackoverflow.com/questions/31016676/deprecation-the-default- поведение-of-shouldreloadall-will-change-in-ember-data-2) – nem035
Пробовал ли вы просто делать то, что он сказал? Просто переопределите метод 'shouldReloadAll()' в вашем адаптере приложения (который расширит адаптер Django) и просто вернет true. Причина изменения заключается в том, что результаты кэшируются и могут быть явно перезагружены с помощью 'this.store.findAll ('foo', {reload: true})'. – uberclops
@uberclops Думаю, я не понимаю, как это сделать. Я не думал, что у меня есть адаптер-адаптер. Не могли бы вы объяснить мне, как именно я переоценил бы этот метод? –