Rails: рендеринг частичного в правый div? - PullRequest
1 голос
/ 19 июня 2010

У меня есть цикл в моем представлении, который рендерит много партиалов: каждый партиал представляет собой простой переключатель для выполнения операции сохранения / несохранения над записью.Каждый фрагмент переключает логическое поле с использованием javascript, затем обновляется, и контроллер завершает, говоря:

$ controller
render :partial => "save_unsave_buttons", :locals => {:matching => @matching}, :layout => false

# view    
<div id=<%= "save#{match.id}" -%>>
<%= render :partial => "save_unsave_buttons", :locals => {:matching => match} %>
</div>

Когда контроллер отображает часть save_unsave_buttons, он не рендерится в правый элемент div;он просто обновляет частичное для первой найденной записи.Как я могу попросить контроллер отобразить частичку save_unsave_buttons в div с правильным идентификатором?

Спасибо!

1 Ответ

0 голосов
/ 19 июня 2010

Рассматривая только небольшую информацию, предоставленную вами для вашей проблемы, я предполагаю, что виновником в коде является тег div.

Тег div должен быть в частичном.

РЕДАКТИРОВАТЬ : Ваш код создает один div с идентификатором save(the first match.id) и отображает частичное внутри него. Если я вас правильно понял, вам нужно div для каждого match. Для этого сам div должен быть в частичном.

Итак, передайте match.id частичному в collection. Ваше мнение должно быть:

# view    

<%= render :partial => "save_unsave_buttons", :locals => {:matching => match, :collection => {@match_id => match.id} } %>

и в вашем частичном _sav_unsave_buttons.html.erb :

<% content_tag :div, id => "save#{@match_id}" do %>

     #YOUR CODE GOES HERE!

<% end -%>
...