ショーページでは、定期的なイベントの発生日の一覧を表示し、統計では、連続する日付間の最大、最小、平均間隔などのすべての日付を計算しました。best_in_place編集の完了時にイベントをトリガーする方法は?
私は、日付のインプレース編集を許可するためにbest_in_place gemを使用します。ただし、日付が変更されるたびに、統計を計算してサーバーから再描画する必要があります。
統計情報を再レンダリングできるように、コールバック関数をbest_in_place編集の完了にフックするにはどうすればよいですか?
これは私が次のコーヒーのスクリプトコードを試みたshow.html.erb
HTMLで<td id="event_date">
<span class='best_in_place' id='best_in_place_event_132_occur_date' data-url='/events/132' data-object='event' data-attribute='occur_date' data-type='input'>2012-03-23</span>
</td>
ある
<td id="event_date">
<%= best_in_place @event, :occur_date %>
</td>
の私のRailsのコードです:
jQuery ->
$("#best_in_place_event_*_occur_date").live 'ajax:complete', (evt, data, status, xhr) ->
alert "a date has changed"
このdoesnのを私は日付を編集した後に何も起こらない(occur_date)。
best_in_placeの編集が成功したときに、どのようにイベントを引き起こすべきかは誰でも知っていますか?
「統計は計算し、サーバーから再描画する必要があります」と言います。したがって、この再計算はモデル内で行われ、更新アクションでコントローラから呼び出されます。答える前に私の事実をまっすぐにしようとしています。 – IAmNaN
はい、統計計算はモデルで実行され、統計情報(例:max、min、avg)はActiveRecordに保存されません。私はそれを正しくやっているかどうかはわかりませんが、私はコントローラを経由しない、私はモデルメソッドを呼び出すビューを持っています。ここに私のコードがあります。 'views/events/show.html.erb'で\t \t \t <%=レンダリング:partial =>" events_stats "、:locals => {:event => @event}%> そして' views/events/_event_stats .html.erb': <%stats = event。get_event_statsの%> <% if stats%>最短:<%=統計[:分]%>日最長:<%=統計【:最大]%>日平均:<%=統計【:平均]%>日 <% end %> –