乾杯!私はルートを持っています:
TravelClient.Router.map(function() {
this.resource('tours', function() {
this.resource('tour', { path: ':tour_id' }, function(){
this.route('seats');
});
});
});
そしてテンプレート:
<script type="text/x-handlebars" data-template-name="tour/seats">
{{...}}
</script>
Seats は Tour オブジェクトの属性です。
TravelClient.Tour.find(1).get('seats');
12
そして、TourSeats ルートを次のように拡張します。
TravelClient.TourSeatsRoute = Ember.Route.extend({
model: function(params) {
return TravelClient.Tour.find(params.tour_id).get('seats');
}
});
質問: テンプレートでツアーの座席をレンダリングする方法を教えてください。
アップデート:
私の備品は次のようになります。
TravelClient.Store = DS.Store.extend({
revision: 11,
adapter: 'DS.FixtureAdapter'
});
TravelClient.Tour = DS.Model.extend({
title: DS.attr('string'),
description: DS.attr('string'),
seats: DS.attr('number')
});
TravelClient.Tour.FIXTURES = [{
id: 1,
title: "Brighton, England",
description: "Lorem ipsum dolor ... .",
seats: 12
},...
そして、ルートを次のように変更しました。
TravelClient.TourSeatsRoute = Ember.Route.extend({
model: function(params) {
return TravelClient.Tour.find(params.tour_id);
}
});
そしてテンプレートで:
<script type="text/x-handlebars" data-template-name="tour/seats">
{{tour.seats}}
</script>
更新 2:
<script type="text/x-handlebars" data-template-name="tour/seats">
{{controller.model.seats}}
</script>
そしてそれは undefind を返します。いくつかのデバッグの後、params に id がなく、params が空であることを発見しました。そのため、TourSeatsRoute 関数で適切なモデルを取得できません。