1

ここでの簡単な例は、カレンダーなどのイベントのリスト、またはこのような単純な古いリストです。

Monday

- event1
- event2

Tuesday

- event3

これをアプリに実装する方法がわかりません。私が見ているように、2つのオプションがあります:

1. サーバー側

Dayサーバー上には、イベントをカプセル化するモデルが実際に存在するふりをします。つまり、あなたはこのようなことをするでしょう

def index
  events = Event.recent.group_by { |e| e.starts_at.to_date }.to_a

  days = data.map.with_index do |pair, index|
    # ember data seems to break without the ID here
    { id: index, date: pair[0], events: pair[1] }
  end

  render json: { days: days }
end

次に、クライアントで、実際にDayモデルを持っているふりをしますhasMany Events

テンプレートは次のようになります

{{#each day in controller}}
  <h2>{{day.date}}</h2>

  {{#each event in day.events}}
    <p>{{event.name}}</p>
  {{/each}}

{{/each}}

2. クライアント側

これを正しく実装する方法はわかりませんが、基本的には、イベントのリストを返し、それらをクライアントでグループ化することを意味します。サーバーは次のようになります

def index
  render json: Event.recent
end

ただし、最初の例のように、クライアントはテンプレートを反復するだけの単純な問題にはなりません。

4

1 に答える 1

0

私は今日 Ember で遊び始めましたが、1 時間か 2 時間しかありませんでした。

私は同じ問題を抱えており、group-by計算されたプロパティを見つけました( example )。計算されたプロパティを今読んでいます。;)

于 2014-05-20T20:07:03.677 に答える