następujący wiersz kodu:Kłopoty wstawianie szyn częściowych jQuery
$("#comments_<%[email protected] %>").append("<%= escape_javascript(render :partial => 'posts/comment', :locals => { :comment => @comment }) %>");
ma instert częściowy jako html wewnątrz znacznika coments_xx div. co się dzieje, to że zawartość częściowej jest wstawiana, ale nie interpretowana jako html, to znaczy, zamiast wstawiania komentarza z właściwym formatem widzę cały kod na stronie:
Przykład (w ten sposób to włóż ją w internetowej):
1 Comment
<div id=comment_5_34> <span class=dateandoptions> Posted less than a minute ago<br/>
<a href=/comments/34/5 data-method=post data-remote=true rel=nofollow>Deletea> span>
<p><b>otra pruebab> wrote:p> <br/> <p><b> Webpage:b>asss.comp> <br/> <p class=comment-body>heeyeyeyyhep>div>
Thanks for commenting!
Gdybym ANALIZE kod javascript włożona i dostać coś takiego (użyłem rozszerzenie firebug go zobaczyć):
/* Add the new comment to the bottom of the comments list */
$("#comments_5").append("<div id=comment_5_34> <span class=dateandoptions> Posted less than a minute ago<br/> <a href=/comments/34/5 data-method=post data-remote=true rel=nofollow>Deletea> span> <p><b>otra pruebab> wrote:p> <br/> <p><b> Webpage:b>asss.comp> <br/> <p class=comment-body>heeyeyeyyhep>div>");
Wreszcie jest to kod częściowe, które wstawiam:
<div id="comment_<%=comment.post.id%>_<%=comment.id%>">
<span class="dateandoptions">
Posted <%= time_ago_in_words(comment.created_at) %> ago<br/>
<%= link_to 'Delete', {:controller => 'comments', :action => 'eliminar', :id => comment.id, :post_id => comment.post.id}, :method => :post, :remote => true %>
</span>
<p><b><%= comment.user_name %></b> wrote:</p>
<br/>
<% if comment.web_page != nil %> <p><b> Webpage:</b><%= comment.web_page %></p> <% end %>
<br/>
<%= content_tag(:p, comment.contenido, :class => "comment-body") %>
</div>
Mam nadzieję, że potrafię dobrze się wytłumaczyć!
z góry dzięki za pomoc.
Ciągle otrzymuję niezdefiniowaną metodę renderowania, gdy postępuję zgodnie z tą sugestią. Mój przykład jest bardzo podobny. Czy masz pojęcie, czego może mi brakować? Jedyną różnicą między twoją odpowiedzią a tym, co mam, jest model i częściowe nazwy. –
Powodem, dla którego próbuję tej metody jest to, że mam listę częściowych, które tworzę za pomocą wbudowanego ruby w każdej pętli na bieżących elementach. Moim celem jest dołączenie nowo utworzonego obiektu po przesłaniu go do bieżącej listy bez ponownego ładowania strony. Czy wiesz, czy istnieje sposób na odświeżenie tego konkretnego rubinu w każdej pętli? To prawdopodobnie wymagałoby wywołania ajax, ale pomyślałem, że łatwo będzie zrobić coś takiego: '$ (" # activeTab "). Append (" <% = escape_javascript ("# {render: partial => 'groups/thing -list-row ',: locals => {: t => Thing.order (: created_at) .last}} ")%>"); ' –
Aby w przyszłości znaleźć ludzi szukających tego wątku w poszukiwaniu odpowiedzi: jeden typowy powód uzyskanie "nieokreślonej metody" renderowania oznacza, że używasz renderowania w pliku wewnątrz/zasobach zamiast aplikacji/widoków. – Steve