Я работаю над веб-приложением Ruby on Rails, в котором у меня есть несколько списков постов.Каждый пост будет использовать Ajax для загрузки своих комментариев.Для того, чтобы заполнить их в нужном месте, я делаю следующее:
В каждом сообщении есть div с идентификатором в следующем формате: <div id="my_div_<%= post.id %>"></div>
.Так, например, если post.id равен 12, идентификатор будет «my_div_12».
Действие моего контроллера выглядит следующим образом:
render :update do |page|
page.replace_html 'my_div_' + params[:post_id].to_s, :partial => 'my_comments_section_partial_path'
end
Это прекрасно работает, только если у меня естьразместить только один раз на странице.Но на этом сайте каждое сообщение может быть указано более одного раза, потому что есть несколько списков (последние сообщения, популярные, топы и т. Д.).И у каждого из них будет свой раздел комментариев для показа.
Проблема теперь в том, что, поскольку функциональность раздела комментариев находится внутри частичного представления, он будет работать одинаково для каждого типа списка (как и ожидалось)и, следовательно, это не имеет значения между divами (потому что у них будет один и тот же post.id и, следовательно, один и тот же id div).
Мой вопрос теперь таков: как я могу решить эту проблему?проблема?Есть ли лучший и другой способ сделать это?
Заранее спасибо!
РЕДАКТИРОВАТЬ:
Просто чтобы уточнить, что я хочу, в несколькихслова:
Я бы хотел, чтобы код page.replace_html 'my_div_' + params[:post_id].to_s, :partial => 'my_comments_section_partial_path'
заменил этот частичный элемент в КАЖДОМ div , называемом 'my_div' + params[:post_id].to_s
(поскольку на одной странице может быть более одного элемента стот же идентификатор) .