Rails escape_javascript не рендерит вещи - PullRequest
1 голос
/ 02 ноября 2010

Вот мой код

$(function(){
$('#new_post').bind('ajax:success', function() {
    $('.posts').append("<%=escape_javascript(render :partial=>'post', :loca\
ls=>{:post=>Post.new})%>");
    });
});

, который приводит к странному выводу, страница просто добавляет <%=escape_javascript(render :partial=>'post', :locals=>{:post=>Post.new})%> в мой список.

Кто-нибудь знает, как это могло произойти?Спасибо!

Ответы [ 2 ]

2 голосов
/ 02 ноября 2010

Я в конце концов решил проблему, спасибо!

На самом деле сначала я использовал этот подход, но он не сработал.

Так что получается, что я использовал

format.js { render :nothing => true }  

в моем контроллере, что, вероятно, предотвратит рендеринг javascript.

Кроме того, вместо использования

<%= div_for post do %>

я использовал формат

<tr><td> 

для моего синглапост, и я думаю, что это одна из причин, почему мой javascript не работает

теперь мой create.js.erb отображает только

$('#posts').append("<%= escape_javascript(render(@post)) %>");

, и это работает.

Спасиборебята, я новичок в этом сообществе (также rails / javascript), но я уже многому научился.

1 голос
/ 02 ноября 2010

Если это частичное представление или представление, убедитесь, что оно названо с расширением .js.erb, иначе вы не сможете получить правильную интерполяцию ERB.

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