У меня есть страница, на которой я хочу отображать различные группы пользователей. Пока что я фильтрую группы в UserController (ArrayController) следующим образом.Содержимое фильтра фильтра и использование метода контроллера в фильтре
users_controller.js.coffee:
App.UsersController = Ember.ArrayController.extend
content: []
group1: (->
@get('model').filterProperty('role', "group1")
).property('[email protected]')
group2: (->
@get('model').filterProperty('role', "group2")
).property('[email protected]')
group3: (->
@get('model').filterProperty('role', "group3")
).property('[email protected]')
Я могу Переберите каждой группы в мои пользователи шаблона со следующими параметрами (с использованием Emblem.js).
users.emblem
.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}
Если кто-нибудь знает, как я могу получить доступ к методу UserController во время цикла по методу UsersController фильтра в представлении, что было бы здорово.
Я также открыт для других предложений по фильтрации данных в первую очередь. Я до сих пор довольно свежий.