1つのRails(3.2.6)アプリにujsを正常に追加しました。フォームタグに:remote => trueを追加すると、js.erbファイルにajax呼び出しを行って、divなどを動的にロードできます。
しかし、同じマシン上の別のアプリケーション(Ubuntu 12.0.4)では、ujsエンジンが機能していないようです。フォームがjsではなくformat=>htmlを送信しているため、常にテンプレートが見つかりません。フォームにjs形式(format =>'js')を使用させると、ajaxを介して呼び出すのではなく、js.erbファイルをレンダリングするだけです。
application.jsには、次の適切なヘッダーが含まれています。
//= require jquery
//= require jquery_ujs
//= require_tree .
上記のjavascirpt参照を含む、アプリケーションレイアウトを使用しているプライマリホームページを実際に参照すると、javascriptファイルが含まれます。ページのフォームは次のとおりです。
<%= form_tag list_path, :remote => true, :id => 'frmBookResults', :method => :post do %>
ただし、:remote => trueが含まれ、list_path用に確立されたルート(list.js.erbをlist.html.erbに変更すると、ビューがレンダリングされるため、ルートは機能します)とコントローラーのメソッドがあります。リクエスト(def list .... end)を処理するために、後続のlist.js.erbは無視され、railsがフォームリクエストをhtmlとして処理しているため、テンプレートが見つからないというエラーが発生します。これはログで確認できます。
私は解決策を見つけることができるすべての場所を検索しましたが、動作しているアプリ、gemset、バージョン、および構成とほぼ同じである場合、ujsがこの特定のアプリで動作しない理由を理解できません。
私は人々が同じ問題を抱えているスタックオーバーフローに関する他のいくつかの記事を見つけましたが、最終的な、実用的な答えは与えられませんでした。
どんな助けや指示も大歓迎です。