2014-01-14 2 views
5

У меня возникла проблема с использованием функции query-params-new.Как включить функцию запроса-params-new с помощью ember-rails

Моя версия ember 1.4.0-beta.2.

Ember.js загружается в мое приложение для рельсов через эмбер-рельсы и драгоценные камни-источники.

Перед тем, как инициализировать приложение Ember, включите эту функцию.

Ember.FEATURES["query-params-new"] = true 

После этого я получаю следующую ошибку при навигации по любому маршруту.

Error while loading route: TypeError: Object [object Object] has no method 'paramsFor' at Ember.Route.Ember.Object.extend.deserialize 

Я что-то пропустил? Нужно ли мне определять метод paramsFor на каждом маршруте?

ответ

7

У меня такая же проблема, я заметил, что проблема this указывает на проблему и приписывает ее неправильному использованию новых параметров параметров запроса. Где вы используете предыдущую реализацию?

Редактировать: Моя проблема заключалась в том, как я это позволял. я следовал за предшествующий метод просто передавая значение для Ember.FEATURES:

Ember.FEATURES['query-params-new'] = true; 

Однако docs Теперь указать правильный метод (который также должно произойти до Тлеющего файла расслоения плотной загрузки обозревателя) :

ENV = {FEATURES: {'query-params-new': true}}; 
+0

Не использовать предыдущую реализацию, просто пытаясь включить ее. –

+0

У меня такое ощущение, что это проблема с ember-rails и только загрузка некоторых из кода на основе порядка загрузки? –

+0

Хорошо, я отправил ответ от моего взломанного решения. –

3

Я забыл, что кофе-скрипт обертывает все в функции верхнего уровня.

Вот как я это делаю в кофе-скрипте.

#= require_self 
#= require handlebars 
#= require ember 

@ENV = {FEATURES: {'query-params-new': true}} 
+0

Рад работать. Код из руководства работает для меня с ember-rails до тех пор, пока переменная ENV.FEATURES не будет установлена ​​до загрузки кода Ember. Ошибка заключается в том, что, как только код считывается в памяти браузером, анонимная функция добавляет paramsFor для Ember.Route, если флаг существует. Я просто установил отдельный файл js с кодом функции выше ember в application.js – Runthral

+0

Если я только что установил ENV.FEATURES, то Ember.FEATURES.isEnabled ("query-params-new") возвращает undefined. Мне нужно что-то упустить, потому что нужно определить Ember, чтобы я мог настроить его, прежде чем загружать Ember, кажется неправильным. О, хорошо, сейчас работает. –