1

Rails アプリの javascript テンプレートprofile.js.erbでレンダリングされません。エラーコードが表示されます406 Not Acceptableこのテンプレートは、ビューstar#profileにパーシャルを追加することになっています。Ajax リクエストは、jquery 無限スクロール プラグインによって行われます。これが私のコードです

.

アクション

 def profile
 @page=params[:page] ||1
 @videos=Video.all(:page=>@page)
 respond_to do |format|
 format.js
 format.html
  end
end

星を見る#プロフィール

<div id="content">
<div class="post">
<%=render 'videos'%>
</div>

profile.js.erb

  $('div.post').append("<%=escape_javascript(render 'videos')%>");

ルート

      match "stars/profile/:page"=> "stars#profile", :via => :get

ログインコンソール

Started GET "/stars/profile?page=2" for 127.0.0.1 at 2013-06-20 00:05:58 -0500
Processing by StarsController#profile as application/JavaScript
Parameters: {"page"=>"2"}
Completed 406 Not Acceptable in 65836ms

Ajax のセットアップ

   jQuery.ajaxSetup({ 
  'beforeSend': function(xhr, settings) {
   xhr.setRequestHeader("Accept", "application/javascript");
   var token=$('meta[name="csrf-token"]').attr('content');
   xhr.setRequestHeader('X-CSRF-Token',token );
   settings['dataType'] = "javascript";
   settings['contentType'] = "application/javascript";
    }

});

4

1 に答える 1

0

ログから: GET "/stars/profile?page=2" には、プロファイルの後に .js が含まれていません。そのため、レールはjavascriptで処理しません。

GET "/stars/profile.js?page=2" を呼び出す必要があります..

于 2013-06-25T09:38:53.013 に答える