0

我有一个页面,我想在其上显示不同的用户组。到目前为止,我正在使用以下内容过滤 UsersController (ArrayController) 中的组。

users_controller.js.coffee:

App.UsersController = Ember.ArrayController.extend
  content: []

  group1: (->
    @get('model').filterProperty('role', "group1")
  ).property('model.@each.type')

  group2: (->
    @get('model').filterProperty('role', "group2")
  ).property('model.@each.type')

  group3: (->
    @get('model').filterProperty('role', "group3")
  ).property('model.@each.type')

我可以使用以下内容(使用 Emblem.js)遍历我的用户模板中的每个组。

用户标志

.role
  h3 Group 1
  each user in group1
    .segment
      = link-to 'user' user | #{user.first} #{user.last}
      p
        span #{user.shortStory}

.role
  h3 Group 2
  = each user in group2
    .segment
      = link-to 'user' user | #{user.first} #{user.last}
      p
        span #{user.shortStory}

.role
  h3 Group 3
  = each user in group3
    .segment
      = link-to 'user' user | #{user.first} #{user.last}
      p
        span #{user.shortStory}

每个用户在其模型中都有一个“故事”。在 UserController 上,我有一个名为 shortStory 的方法,可以将其缩短为 100 个字符左右的片段。(见以下代码)

user_controller.js.coffee

App.UserController = Ember.ObjectController.extend
  shortStory: (->
    short = @get('story').substring(0, 100)
    for i in short by - 1
      if i == " "
        break
      else
        short = short.slice( 0, -1)
    short
  ).property('story')

我的问题是我无法为任何用户显示短篇小说。我尝试了许多不同的语法,包括:

span= user.shortStory
span #{user.shortStory}
span= shortStory
span= #{user.shortStory}

如果有人知道我如何在通过视图中的 UsersController 过滤器方法循环时访问 UserController 方法,那就太好了。

我也愿意接受其他关于首先过滤数据的建议。我仍然很新鲜。

4

1 回答 1

0

找到了这个问题的答案。我能够为每个循环添加一个 itemController="user" 。这很好用。

于 2013-10-14T18:59:29.290 回答