2012-02-02 2 views
0

Задача довольно проста: отобразить частичный шаблон с функцией OnChange AJAX. После выполнения js.erb с рендером я разорвал теги HTML на своей странице новые все отображаемые элементы. В этом примере он добавляет 'a>' к названию ссылки, поэтому DOM содержит 'New branda>'.Rails 3.2 + jQuery + рендеринг частично в js.erb = сломанные элементы HTML

#partial 
<%= link_to 'New Brand', new_brand_path %> 

#controller------------------------- 
... 
format.js 

#parent view------------------------ 
<div id="partial-id"> 
    <%= render 'partial' %> 
</div> 

#action_script.js.rjs--------------- 
$("#partial-id").html("<%= escape_javascript(render ('partial')).html_safe %>"); 

Предложения будут высоко оценены, я уже провел несколько часов, пытаясь найти решение.

+0

Является ли ваш шаблон JS одним из ERB или RJS (вы упомянули «После выполнения js.erb с рендером ...», но «action_script.js.rjs' в куске кода)? – Jef

ответ

0

Для нас с WODstack мы используем это довольно много, но мы никогда не используем .html_safe.

Просто удалите свой html_safe, и все должно быть в порядке.

+0

Спасибо, но я попробовал. Если я удалю .html_safe, тогда я вижу не только «New branda>», но и источник всего тега в виде текста. –

+0

В этом случае ваш html в частичном случае где-то не так. – mhenrixon

+0

Это полное содержание моего частичного: <% = ссылка_to 'New Brand', new_brand_path%> –

2

Проблема решена после того, как я переключился с Прототип на jQuery. Таким образом, * action_script.js.erb * работает хорошо, и .html_safe не требуется в этом случае.

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