Javascript 余烬{{#with…controller=…}}给出了;未捕获类型错误:无法读取属性';查找工厂&x27;“未定义”的定义;

Javascript 余烬{{#with…controller=…}}给出了;未捕获类型错误:无法读取属性';查找工厂&x27;“未定义”的定义;,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,我试图在Ember中访问一个控制器(实际上是一个由控制器扩展的mixin)的属性,我需要使用{{#with}}}handlebar助手。我得到一个错误: 无法读取未定义的属性“lookupFactory” 我尝试为每个控制器指定控制器的位置如下所示: {{#with orders.order controller='ordersIndex'}} 我还尝试了我能想到的所有组合: {{#with orders.order controller='orders'}} {{#with orders.o

我试图在Ember中访问一个控制器(实际上是一个由控制器扩展的mixin)的属性,我需要使用{{#with}}}handlebar助手。我得到一个错误:

无法读取未定义的属性“lookupFactory”

我尝试为每个控制器指定控制器的位置如下所示:

{{#with orders.order controller='ordersIndex'}}
我还尝试了我能想到的所有组合:

{{#with orders.order controller='orders'}}
{{#with orders.order controller='Orders'}}

Tried specifying the controller for the route that seems to work:
{{#with orders.order controller='brokerageAccount'}}
{{#with orders.order controller='BrokerageAccount'}}
{{#with orders.order controller='Brokerage'}}
他们中的任何一个都不走运

所有代码都在JSBin中:

两条路线的输出视图:

坏的:(这里如果你打开控制台,你会看到错误)

这一个有效:您将看到一些数据。

我猜
{{with}}
助手有一个bug,因为如果使用
{{{model}中的每个元素}
并更新{{with}}以使用
elem
变量:
{{with elem.orders.order controller='ordersIndex'}
所有工作都正常

这是更新的
订单/索引
模板:

 <script type="text/x-handlebars" data-template-name="orders/index">
  <div class="inline-headers">
    <h4><label>Brokerage: </label>{{titleize brokerage}}</h4>        
  </div>
  {{#each elem in model}}
    <h4 class="account-header"><label>Account: </label>{{account_number}}</h4>
    {{#with elem.orders.order controller='ordersIndex'}}
      {{partial "_orders_table"}}
    {{/with}}
  {{/each}}
</script>

经纪:{{titleize Brokerage}
{{{#模型中的每个元素}
帐号:{{帐号}
{{{带elem.orders.order controller='ordersIndex'}}
{{partial{u orders}u table}
{{/与}}
{{/每个}}

这是更新后的jsbin

尽管存在缺陷,但总体而言,使用y中的每个x而不是仅使用每个?我可以看到它将更加明确和可读。我认为两者都可以,但我个人也喜欢明确的版本。我创建了一个公关来解决你的问题