0

我有 3.0,不久前我升级到 3.1。我现在正在尝试在项目中添加一些 ajax,但由于某种原因,虽然它看起来设置正确并且链接作为远程链接触发,但它返回的响应是 html。

所以我像这样设置控制器:

respond_to do |format|
  format.js
end

在视图中:

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

但在萤火虫它返回这样的页面:

<!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 回答