Rails 3.0 / JQuery - Обмен частями при вызове ajax
У меня есть два частичных _choose.html.erb и _details.html.erb.
Я выбираю так:
<div id="choose" class="box" style="padding:10px;" >
<%= render :partial => "choose" %>
</div>
В контроллере я вызываю метод выбора.
def choose
respond_to do |format|
format.js
end
end
И в choose.js.erb я вызываю следующее:
$("#choose").replaceWith(<%= escape_javascript(render(:partial => "details"))%>);
Но ничего не происходит. Неполная информация находится в правильном месте, и если я отобразлю ее на странице, например, <% = render: частичный => "details" %>, то это не вызовет проблем. Но я не могу поменять его, используя вышеуказанный метод AJAX.
Если я сделаю:
$("#choose").replaceWith("a yaddy yaddy");
"Yaddy Yaddy" отображается в div выбора.
Я что-то здесь упускаю?
Я читал вокруг, в том числе и ТАК, но безрезультатно.
Обновить
Ответ либо 200
или 304
, И используя firebug, я вижу, что ответ содержит частичное содержимое, но это не отображается в браузере, что странно, но я думаю, что я совершил некоторую подлую жалобу, о которой я не знаю....
Обновить
в choose.js.erb:
Если я позвоню "$("#choose").html("<%= escape_javascript(render(:partial => "choose", :object => @pages))%>")"
частичный выбор обновляется переменной экземпляра страниц.
Спасибо вам всем.
1 ответ
Можете ли вы убедиться, что оба ваших id = "choose"
Div в них? Если нет, ваш replaceWith
отбрасывает их. Вы могли бы хотеть .html("")
?