2015-07-05 2 views
3

У меня есть рендеринг частичного, который должен выводиться в div, который отображается неправильно. я пытался в моем index.js.haml:визуализировать html из javascript rails

= "$('.modal-body').html('#{escape_javascript(raw render("details"))}');" 
= "$('.modal-body').html('#{escape_javascript(raw render("details")).html_safe}');" 
= "$('.modal-body').html('#{escape_javascript(raw render("details").html_safe)}');" 
= "$('.modal-body').html('#{raw escape_javascript(raw render("details"))}');" 
= "$('.modal-body').html('#{raw escape_javascript(raw render("details").html_safe)}');" 
= "$('.modal-body').html('#{raw escape_javascript(raw render("details")).html_safe}');" 

и все они outputing ту же следующую вещь:

enter image description here

Если удалить escape_javascript, он больше не работает.

+0

Тест '= $ (». Модальной тело ') HTML (' # {escape_javascript (raw render ("details")). html_safe} '); ' – Pavan

+0

Я ищу решение. Марк был принят, если вы нашли ответ. –

+0

Я не могу принять свой ответ до двух дней ... Но посмотрите на мой ответ, он работает – lguenier

ответ

1

Благодаря эму, который отправил ответ в ERB я нашел способ сделать это в Haml:.

:plain 
    $('.modal-body').html('#{j render partial: 'details'}'); // in HAML 

$('.modal-body').html('<%= j render partial: 'details'%>'); //in ERB 
+0

Большое вам спасибо за ваш ответ. – sahu

0
$('.modal-body').html('<%=j render partial: 'details' %>'); // in HTML 

$('.modal-body').html('#{j render partial: 'details'}'); // in HAML 
+0

Вы должны добавить: plain before и indent haml line – lguenier

Смежные вопросы