Rails Как сделать частичное - PullRequest
0 голосов
/ 25 декабря 2010

В настоящее время я могу визуализировать партиал в JS следующим образом:

$("#cmtList_<%= @commentable.id %>").prepend("<%=escape_javascript(render :partial =>"comments/comment", :locals => {:comment => @comment})%>");

Вышеприведенные работы отлично подходят для рендеринга / возврата одного нового комментария.

Теперь я хочу повторно использовать ту же часть (чтобы остаться СУХОЙ), но иметь возможность передавать массив комментариев как @Comments и иметь Rails-цикл через все записи @comments (1 или более), используя одну и ту же часть, Я пробовал это, но это ошибки:

$("#cmtList_<%= @commentable.id %>").prepend("<%=escape_javascript(render :partial => "comments/comment", :collection => {:comment => @comments})%>");

Есть идеи?

Спасибо

Ответы [ 2 ]

3 голосов
/ 25 декабря 2010

Попробуйте это внутри escape_javascript:

render :partial => "comments/comment", :collection => @comments

Документы говорят, что это должно работать тоже (слишком много магии для меня):

render @comments

Проверьте "3.4.5 Рендеринг коллекций"отсюда: http://guides.rubyonrails.org/layouts_and_rendering.html

1 голос
/ 25 декабря 2010

Попробуйте:

$("#cmtList_<%= @commentable.id %>").prepend("<%=escape_javascript(render :partial => "comments/comment", :collection => @comments)%>");

, который будет искать локальную переменную "комментарий".

Для получения дополнительной информации: http://guides.rubyonrails.org/layouts_and_rendering.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...