0

少し前に 3.1 にアップグレードした 3.0 があります。プロジェクトに少しの ajax を追加しようとしていますが、何らかの理由で正しく設定されているように見え、リンクがリモート リンクとして起動されますが、返される応答は html です。

だから私はコントローラを次のように設定しました:

respond_to do |format|
  format.js
end

ビューで:

%li=link_to comp.title, company_filter_path(comp.id), :remote=>true

しかし、firebug では、次のようなページが返されます。

<!DOCTYPE html>
<html>
  <head>
    <title>test</title>

  </head>
  <body id='home' lang='en'>

      <section>
        <!-- = content_tag :h1, yield(:title) if show_title? -->

        alert("hello")

        console.log(2)

      </section>
  </body>
</html>

アップグレードで見逃したものかもしれないと思いますが、何がわからないのですか?

4

1 に答える 1

0

同じ問題に直面している人のために、友人が私に答えをくれました。

私はアプリケーションフォルダでレイアウトを定義していましたが、これによりjsがテンプレートとしてレンダリングされるようになりました。

形式を次のように変更します。

respond_to do |format|
      format.html { render "index"}
      format.js{render :content_type=>'text/javascript',:layout=>false}
    end

そして、すべてが完璧に機能します!

于 2012-08-03T22:43:44.430 に答える