2012-05-08 11 views
1

私はHAMLベースのテンプレートを使用しています。ページ作成はKaminariで壊れているようです。私はそれは私のせいだと確信していますが、ここに私のテンプレートは次のようになります。HAML + KaminariでXHRページングを使用する

:javascript 
    $(function() { 
    $('#events').html('<%= escape_javascript render(@events) %>'); 
    $('#paginator').html('<%= escape_javascript(paginate(@events, :remote => true).to_s) %>'); 
    }); 

    %ul.activity_list 
     #events 
     = render :partial => 'event' 

私_event.html.hamlは、次のようになります。

- @events.each do |event| 
    = display_event(event) 

そして最後に:

何が起こる
%nav 
     %ul.pagination 
     #paginator 
      = paginate @events, :remote => true 

今すぐページをロードすると、ページ区切りのイベントは次のマークアップが表示されます。

&lt;%= escape_javascript render(@events) %gt;

そして、それは、サイト上でレンダリング:私はここにXHR有効に改ページを取得するために、ここで間違って何をやっている

<%= escape_javascript render(@events) %>

UPDATE

私はディランの要求に従って、次に私のJavaScriptを更新しました:

:javascript 
    $(function() { 
    $('#events').html('#{escape_javascript render('event')}'); 
    $('#paginator').html('#{escape_javascript(paginate(@events, :remote => true).to_s)}'); 
    }); 

= XHRが動作しているようだが、何らかの理由で、それは過去のページに行くことはありません2。この特定のフェッチには合計3ページが必要です.1ページと2ページの間でのみ反転します。

答えて

2

hamlファイルでerbタグを使用しようとしています。クラス:未定義のメソッド文字列のための `MODEL_NAME」 -

:javascript 
    $(function() { 
    $('#events').html('#{escape_javascript render(@events)}'); 
    $('#paginator').html('#{escape_javascript(paginate(@events, :remote => true).to_s)}'); 
    }); 

が上にクラップスHaml documentation about this

+0

を参照してください:あなたはルビーコードを補間するHAMLのバージョン(代わりに<%= %>#{})を使用する必要があります。何か案が?それは$( '#events')ビットで死んでいるようです。 –

+0

そして、実際には、私はjavascriptをコメントアウトした後、すべてがXHRビットを差し引いて動作します。 (明らかに) –

+0

'@ events'には文字列ではなくイベントが含まれていますか? –

関連する問題