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";
}
});