Rails New Action не возвращает HTML в AJAX GET - PullRequest
3 голосов
/ 15 сентября 2011

Я работаю над проектом, в котором я обновил гем rails с 2.3.5 до 2.3.11, теперь я не могу заставить действия контроллера возвращать HTML через jQuery ajax get. Например, когда я запускаю этот JavaScript: $(function(){ $.get("/inbox/new"); });

Я вижу в Firebug, что запрос получен со статусом 200. Я вижу, как запрос обрабатывается в моем журнале. Я вижу, что токен CSRF передается в ajax get (но я не знаю, почему это все равно будет иметь значение, поскольку это get, а не post).

Я попытался ответить на блок respond_to do |format| format.html {render :layout => false, :action => :new} end

Единственный способ заставить действие контроллера вернуть что-либо (еще раз подтвержденное через Firebug) - это использовать render :text => "whatever" в действии контроллера.

Есть идеи ?! Есть ли что-то другое в рельсах 2.3.11, что мне не хватает?!

1 Ответ

4 голосов
/ 15 сентября 2011

Я понял это. Очень маленькая, но важная строка кода испортила меня. В представлении new.html.haml был блок content_for. Итак, представление отображается на AJAX GET, но содержимое не отображается, поскольку не указан макет. Я не могу поверить, что я потратил столько часов на это, как и я. Унижающий опыт.

Могу ли я хотя бы получить какие-то голоса за многие потерянные часы производительности?

...