2012-04-21 5 views
0

レール3.1のアプリケーションにログインするとき、ajaxを使用して以下の入力画面を表示します。ここでは、ログへのリンクは次のとおりです。なぜAjaxがレール3.1で2つのビューをレンダリングするのか

このよう
<%= link_to 'Log', new_part_out_log_path(@part, :format => :js), :remote => true, :id => 'new_log_link' %> 

そしてnew.js.erb:

$("<%= escape_javascript render(:file => 'out_logs/new.html.erb') %>").insertAfter('#new_log_link'); 
$('#new_log_link').hide(); 
$('#close').hide(); 

問題があることが、代わりに1つのビューで、「ログイン」をクリックした後の2件の同一の景色ですout_logs/new.html.erbがレンダリングされました。私たちのコードに何が間違っているのでしょうか?ありがとうございます。

+0

あなたは 'respond_to'を使用していますか?たぶん、レールが何とかjavascriptとHTMLの答えを表示することを決めたのかもしれません。それが2回レンダリングされることをどのように知っていますか?もう少しコントローラコードを投稿できますか? – klump

+0

私たちはreponse_toを使用しません。 – user938363

+0

すべてのAjaxが突然2つの同じビューをレンダリングし始めるようです。 1つのコントローラに関連するだけではないようです。 – user938363

答えて

0

この問題は、ruby 1.9.3にアップグレードして、webrick(開発用)警告メッセージを表示し、.js.erbファイルを画面上に2回レンダリングすることに関連しています。 2回レンダリングの問題は、nginxを実行しているプロダクションサーバー上で消えます。次のリンクは、問題を理解するのに役立つことがあります。

http://theresa.multimediatechnology.at/webrick-warnings-in-ruby-1-9-3/

What does "WARN Could not determine content-length of response body." mean and how to I get rid of it?

関連する問題