рендеринг коллекции частичек в виде HTML в рельсах
-
05-07-2019 - |
Вопрос
Я использую jQuery для вызова ajax на моем контроллере, и все работает отлично, за исключением того, что я не могу получить возвращаемое значение, которое я хочу.
Допустим, у меня есть коллекция предметов, и у меня есть частичное:
/app/views/messages/_message.html.erb
Я пытаюсь отобразить его как большую строку текста / html, например:
format.js { render_to_string :partial => "message", :collection => @messages}
Однако, это рендеринг вида, потому что я получаю и теги. Даже если я изменю это на:
format.js { render_to_string :partial => "message", :collection => @messages, :layout => 'none'}
он все еще возвращает то же самое. Это возможно? Мне нужно вернуть его для обработки jQuery, поэтому я не уверен, что это можно сделать с помощью rjs. Любая помощь приветствуется.
Решение
Вы пробовали просто использовать render вместо render_to_string?
Кроме того, тот факт, что вы используете jQuery, делает это немного более сложным, если бы вы использовали прототип, вы могли бы использовать rjs и делать что-то вроде
page.replace_html('container_element', :partial => @messages)