у меня три модели
страна, город, торговый центр
Маршрут будет выглядеть
export default Ember.Route.extend({
model: (params) ->
Ember.RSVP.hash country: @store.find('country', params);
});
Шаблон будет выглядеть так
{{view "select"
class="btn btn-default dropdown-toggle"
content=model.country
optionLabelPath="content.name"
optionValuePath="content.id"
value=selectedCountry
prompt="Country"
}}
{{view "select"
class="btn btn-default dropdown-toggle"
content=currentCities
optionLabelPath="content.name"
optionValuePath="content.id"
value=selectedCity
prompt=City
}}
{{view "select"
class="btn btn-default dropdown-toggle"
content=currentMalls
optionLabelPath="content.name"
optionValuePath="content.id"
value=value
prompt=Mall
}}
Выпадающий список города и торгового центра генерируется динамически в зависимости от выбора страны и города соответственно.
В моем контроллере у меня есть
export default Ember.ObjectController.extend({
queryParams: ['selectedCountry', 'selectedCity']
selectedCountry: null,
seletedCity: null,
currentCities: null,
currentMalls: null,
selectedCountryChanged: function() {
this.set('currentCities', this.store.find('city');
}.observes('selectedCountry')
selectedCityChanged: function() {
this.set('currentMalls', this.store.find('mall'));
}.observes('selectedCity')
});
параметр запроса работает правильно для первого раскрывающегося списка, но я не получаю правильное значение для второго раскрывающегося списка, предположим, что я выбираю страну как Соединенные Штаты, вызываемый ресурс
res/v1.0/страны/США
когда я выбираю город, ресурс выглядит так
res/v1.0/страны/США/города/Чикаго
когда я копирую URL-адрес с этими выбранными значениями.. параметр запроса
selectedCountry=unitedstates&selectedCity=undefined
не могли бы вы предложить мне решение для вышеуказанного. По сути, город также должен загружаться до того, как я назначу ему параметр запроса ... но загрузка города будет зависеть от параметра запроса страны.