나는이 오류가 무엇입니까 통과 : 나는 액티브 모델 시리얼 라이저를 사용하여 레일 응용 프로그램에서 내 데이터를 얻고모두 ArrayProxy는 배열 또는 Ember.ArrayProxy를 기대하고 있지만, 개체
ArrayProxy expects an Array or Ember.ArrayProxy, but you passed object
합니다. 데이터가 주요 인스펙터에 표시되지만 콘솔의이 오류로 인해 템플릿이 제대로 렌더링되지 않습니다.
Router.map(function() {
this.resource('brands', function() {
this.resource('brand', { path: '/:brand_id' });
});
this.resource('campaigns', function() {
this.resource('campaign', { path: '/:campaign_id' },
this.resource('index'), { path: 'brands/:brand_id' });
});
});
export default Ember.Route.extend({
model: function() {
return Ember.RSVP.hash({
brand: this.store.find('brand'),
campaign: this.store.find('campaign')
});
}
});
export default DS.Model.extend({
name: DS.attr('string'),
facebook_page_id: DS.attr('string'),
active: DS.attr('boolean'),
facebook_uid: DS.attr('string'),
facebook_token: DS.attr('string'),
facebook_token_expires: DS.attr('string'),
website_url: DS.attr('string'),
privacy_policy_link: DS.attr('string'),
terms_link: DS.attr('string'),
instagram_account: DS.attr('string'),
instagram_url: DS.attr('string'),
twitter_account: DS.attr('string'),
twitter_url: DS.attr('string'),
avatar_url: DS.attr('string'),
youtube_account: DS.attr('string'),
youtube_url: DS.attr('string'),
favicon_url: DS.attr('string'),
open_graph_url: DS.attr('string'),
campaigns: DS.hasMany('campaign', {async: true})
});
export default DS.Model.extend({
name: DS.attr('string'),
brand_id: DS.attr('string'),
brand: DS.belongsTo('brand', {async: true})
});
{{#each brand in controller}}
<a>
{{#link-to 'brand' this}}
{{brand.name}}
{{/link-to}}
</a>
{{else}}
<a>No brands found.</a>
{{/each}}
서버 로그에 오류가 없습니다.
특정 컨트롤러 유형에 대한 경로가 기본적으로 지정되지 않은 경우 컨트롤러 유형을 지정하지 않으면 컨트롤러 유형이 모델 후크에서 반환 된 데이터 유형에 따라 결정됩니다. https://github.com/emberjs/ember.js/blob/876eecf6ab29159b1ef5474f2c62da139bb636c0/packages/ember-routing/lib/system/generate_controller.js#L26 – Kingpin2k
이것은 원래 내가 한 일로, 동일한 템플릿. 우리의 도움에 감사드립니다. – garthonrails