Rails 3.0 / JQuery - Обмен частями при вызове ajax - PullRequest
0 голосов
/ 03 сентября 2011

У меня есть два партиала _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"); 

"Ядди Ядди" отображается в div выбора.

Я что-то здесь упускаю?

Я читал, в том числе и ТАК, но безрезультатно.

Обновление

Ответом является 200 или 304. И используя firebug, я вижу, что ответ содержит частичное содержимое, но это не отображается в браузере, что странно, но я думаю, что я совершил некоторую подлую жалобу, о которой я не знаю ....

Обновление

в choose.js.erb:

Если я вызываю "$("#choose").html("<%= escape_javascript(render(:partial => "choose", :object => @pages))%>")", выборочный номер обновляется переменной экземпляра страниц.

Спасибо, все.

1 Ответ

3 голосов
/ 03 сентября 2011

Можете ли вы убедиться, что в обеих ваших частях есть id = "choose" div?Если нет, ваш replaceWith отбрасывает их.Вы могли бы хотеть .html("")?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...