1

我尝试使用 AJAX 重构我的项目。我有一个链接...

= link_to("Please work", "show_recent_chart", :remote => true)

... 一个 xxx 控制器动作 ...

def show_recent_chart
  ...
  respond_to do |format|
    format.js
  end
end

...和一个 show_recent_chart.js.erb 模板

alert("Done!");

单击链接后,我的日志文件说:

Started GET "/show_recent_chart" for 10.0.2.2 at 2012-04-30 05:56:43 -0400
Processing by XXXController#show_recent_chart as JS
MONGODB (0ms) 
  Rendered xxx/show_recent_chart.js.erb within layouts/application (0.4ms)
  Rendered shared/_header.slim (18.0ms)
  Rendered shared/_footer.slim (0.1ms)
Completed 200 OK in 8360ms (Views: 1276.0ms)

所以看起来一切正常。但是 js.erb 模板中的 javascript 代码永远不会被执行。Firebug 只显示请求,但没有其他内容。

我怎样才能让它工作?谢谢!

4

1 回答 1

0

最后我想通了。使用 firebug 我看到对我的 ajax 请求的响应是完整的 html 文档。我不得不使用

format.js { render :layout => false }

做这项工作。

于 2012-05-04T06:12:26.577 回答