【问题标题】:Rails New Action not returning HTML on AJAX GETRails 新操作未在 AJAX GET 上返回 HTML
【发布时间】:2011-09-15 00:25:36
【问题描述】:

我正在做一个项目,我将 rails gem 从 2.3.5 升级到 2.3.11,现在我无法让控制器操作通过 jQuery ajax get 返回 HTML。例如,当我运行这个 javascript:$(function(){ $.get("/inbox/new"); });

我可以在 Firebug 中看到收到状态为 200 的请求。我可以在我的日志中看到正在呈现的请求。我可以看到 CSRF 令牌是在 ajax get 中传递的(但我不知道为什么它会很重要,因为它是一个 get 而不是一个帖子)。

我尝试了响应阻止 respond_to do |format| format.html {render :layout => false, :action => :new} end

我可以让控制器操作返回任何内容(再次通过 Firebug 确认)的唯一方法是在控制器操作中使用 render :text => "whatever"

有什么想法吗?!我在 rails 2.3.11 中缺少什么不同的东西吗?!

【问题讨论】:

    标签: jquery ruby-on-rails ajax controller get


    【解决方案1】:

    我想通了。一行很小但很重要的代码把我搞砸了。 new.html.haml 视图中有一个 content_for 块。所以视图在 AJAX GET 上呈现,但内容没有呈现,因为没有指定布局。我不敢相信我花了这么多时间在这上面。谦卑的经历。

    我可以为我失去的许多工作效率至少获得一些选票吗?

    【讨论】:

    • 我们都为您在工作效率上损失了许多小时......甚至几年后。
    猜你喜欢
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 2014-01-29
    • 1970-01-01
    相关资源
    最近更新 更多