рендеринг коллекции частичек в формате html в рельсах - PullRequest
0 голосов
/ 11 сентября 2009

Я использую 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. Любая помощь приветствуется.

1 Ответ

2 голосов
/ 11 сентября 2009

Вы пробовали просто использовать render вместо render_to_string?

Кроме того, тот факт, что вы используете jQuery, делает это немного более сложным, если бы вы использовали прототип, вы могли бы использовать rjs и сделать что-то вроде

page.replace_html('container_element', :partial => @messages)
...