2014-01-14 1 views
5

query-params-new 기능을 사용하는 데 문제가 있습니다.ember-rails를 사용하여 query-params-new 기능을 활성화하는 방법

내 버전의 ember는 1.4.0-beta.2입니다.

Ember.js는 ember-rails 및 ember-source gem을 통해 내 레일 앱에로드됩니다.

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 문제가 발견되어 새로운 쿼리 매개 변수 API를 잘못 사용한다고 생각합니다. 이전 구현을 사용하는 곳은 어디입니까?

편집 : 내 문제는 어떻게 활성화했는지입니다.

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

그러나, docs 이제합니다 (엠버 JS 파일이 브라우저에 의해로드되기 전에도 일어날 필요가있는) 올바른 방법을 지정 : 단순히 Ember.FEATURES에 값을 전달하는 이전 방법 다음되었다 :

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

켜기 만하면 이전 구현을 사용하지 않습니다. –

+0

ember-rails에 문제가있어서로드 순서에 따라 코드를로드하는 느낌이 들었습니까? –

+0

Ok 해킹 된 솔루션에 대한 답변을 게시했습니다. –

3

커피 스크립트는 모든 것을 최상위 함수로 포함하고 있습니다.

내가 커피 스크립트에서하는 방법입니다.

#= require_self 
#= require handlebars 
#= require ember 

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

기쁜 소식입니다. Ember 코드가로드되기 전에 ENV.FEATURES 변수가 설정되는 한 가이드의 코드는 ember-rails와 함께 작동합니다. 오류는 브라우저에서 코드를 메모리로 읽어들이 자마자 익명 함수가 플래그가 존재하면 Emams.Route에 paramsFor를 추가하기 때문입니다. 방금 application.js에 ember 위의 기능 코드가있는 별도의 js 파일을 설정했습니다. – Runthral

+0

ENV.FEATURES를 설정하면 Ember.FEATURES.isEnabled ("query-params-new")는 정의되지 않은 값을 반환합니다. Ember를로드하기 전에 구성 할 수 있도록 Ember를 정의해야하므로 뭔가 빠져 있어야합니다. 오 잘, 그것은 지금 일한다. –