Ember SelectView не показва правилното обвързване на съдържанието само в Ember-rails

Направих малък миксин за плъгина Chosen, който работи добре в този скрипец.

Когато използвам това в моето приложение ember-rails, избраното поле се показва, но няма опции. Мисля, че това е свързано с използването на ArrayController.extend срещу Object.create (във цигулката), но не мога да разбера защо. Когато променя разширението за създаване в релси, той се опитва да създаде контролера два пъти и дава грешка.

Ember се променя толкова бързо, пропуснах ли нещо от версията fiddle до версията ember-rails?

(изходният код на ember-rails под активи на https://github.com/camdub/watchd)


person camdub    schedule 07.08.2012    source източник


Отговори (1)


Гледайки вашия код, изглежда, че използвате маршрута. хубаво. Разбрахте, че когато използвате маршрутизиране, контролерите се създават за вас от рамката и всеки xxxView има свой екземпляр на xxxController, достъпен от свойството controller.

в repos.handlebars опитайте директно да използвате `controller'.

<div class="container top-section">
  {{view Watchd.ChosenSelect
    contentBinding="controller.content"
    valueBinding="controller.selected"
  }}
</div>
person sly7_7    schedule 07.08.2012
comment
Хм, мисля, че това е правилният път, но contentBinding и valueBinding не са част от репо контролера. Опитвам се да свържа обвързването на съдържанието и стойността към друг контролер (в този случай контролера repos_filter). - person camdub; 08.08.2012
comment
Това също не работи само с обикновения изглед Ember.Select - person camdub; 08.08.2012
comment
Добре, тогава мисля, че можеш да обвържеш controller.controllers.reposFilterController - person sly7_7; 08.08.2012
comment
По дяволите. Това също не работи. Опитах и ​​controllers.RepoFilterController. В много от примерите в документите на emberjs.com те използват синтаксиса App.Controller, но той не работи в моя случай. - person camdub; 08.08.2012
comment
Чакай, беше прав. Изглежда, че controller.controllers.repoFilterController прави нещо, но потребителският интерфейс остава непроменен (няма стойности в полето за избор). Инструментите за разработчици показват Begin: Flush Sync Queue ember-latest.js:3431 Ember.Binding<ember493>(templateData.keywords.controller.controllers.reposFilterController.selected -> value) <- cam - person camdub; 08.08.2012
comment
Мисля, че трябва да инсталирам вашето приложение и да видя какво ще стане. Надявам се да мога да го направя тази вечер. - person sly7_7; 08.08.2012
comment
Проблемът изглежда е в миксина. Разклоних вашето репо и играйте малко. Чрез коментиране на заменките на шаблоните избраното се попълва с repoFilter. - person sly7_7; 10.08.2012
comment
добре, другата разлика между цигулката и вашето приложение е версията на ember. Внимавайте за текущия контекст в шаблоните. вижте github.com/sly7-7/watchd/commit/ за модификациите , и тук за обяснения: stackoverflow.com /questions/11818116/ - person sly7_7; 10.08.2012