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("")?

Другие вопросы по тегам