1

したがって、Rails 3 アプリでtimeagoプラグインを使用して、この関数内にラップしています (タイムアウトにより、timeago 文字列が常に分単位で更新されることに注意してください)。

function doTimeago() {
  $('.timeago').each(function() {
    var $this = $(this);
    if ($this.data('active')!='yes') {
      $this.timeago().data('active','yes');
    }
  });
}

そして、私の中でapplication.js

$(function() {
  doTimeago();
}

呼び出しを使用していくつかの要素をロードするまで、これはうまく機能しremoteます。少し調べたところ、有効な解決策が見つかりませんでした。非推奨のように見えるため、この質問でlivequery提案されているようにプラグインを追加することに満足していません。

この JS コードをjs.erbアプリのすべてのファイルの末尾に追加することを考えていましたが、本当に重複していて厄介です。

doTimeago();

質問パート 1: ¿js.erb実行のたびにそのコードを挿入する簡単な方法はありますか?

質問パート 2: ¿ ajaxy で読み込まれた要素を使用するという主な目標を達成するにはどうすればよいtimeagoですか?

4

1 に答える 1

1

ajaxComplete次のように、イベントにバインドできます。

$(document).on('ajaxComplete', function(){
  do_timeago();
});

do_timeagoところで、タイムアウトの機能がわかりませんでした。また、JS のベスト プラクティスは Ruby のベスト プラクティスとは少し異なります。関数の名前をdoTimeago.

それが役に立てば幸い。

于 2012-11-13T11:25:39.573 に答える