我有一个页面,我想在其上显示不同的用户组。到目前为止,我正在使用以下内容过滤 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 方法,那就太好了。
我也愿意接受其他关于首先过滤数据的建议。我仍然很新鲜。