рендеринг коллекции частичек в виде HTML в рельсах

StackOverflow https://stackoverflow.com/questions/1407578

  •  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)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top