У меня такое чувство, что это будет один из тех костяных вопросов. Но у меня есть я почесываю голову.Как динамически генерировать div id в javascript
У меня есть частичный, который создает серию дивы с уникальными идентификаторами на основе объектных идентификаторов:
<% @contact.email_addresses.each do |email_address| %>
<div id=<%= "email_address_"+email_address.id.to_s %>>
.
. do stuff
.
</div>
<% end %>
Это дает мне ряд дивы, которые выглядят так:
<div id="email_address_13">
[email protected]
<div class="form_icon" title="edit email address" rel="tooltip" ,="">
<a data-remote="true" href="/email_addresses/13/edit?contact_id=2">
<img height="11" width="11" src="/assets/mini_icons/fat_pencil.png" alt="Fat_pencil">
</a>
</div>
<div class="form_icon" title="delete email address" rel="tooltip" ,="">
<a rel="nofollow" data-remote="true" data-method="delete" data-confirm="Are you sure?" href="/email_addresses/13?contact_id=2">
<img height="9" width="9" src="/assets/mini_icons/remove.png" alt="Remove">
</a>
</div>
</div>
Как вам может видеть, что в каждом div есть кнопка редактирования и отмены. Все идет нормально.
Когда пользователь нажимает кнопку редактирования, я хочу заменить содержимое div формой, которая позволяет редактировать. Итак, в моем файле edit.js.erb я хочу:
$('#email_address_13').html("<%= escape_javascript(render 'email_address_form')%>")
Итак, вот вопрос. В моем файле edit.js.erb, как мне конкатенировать email_address_
с моим email_address.id
, так что я получаю селектор, который выглядит как '#email_address_13'
?
Когда я с жестким кодом '#email_addres_13'
, все работает красиво. так что это просто вопрос о том, как динамически генерировать мой селектор div внутри моего файла edit.js.erb
.
Спасибо!
Я не программист на Ruby-on-rails, но на самом деле я думал, что этот подход (тот, который вы предложили здесь) был самым простым решением, и я подумал, что вам не разрешено делать это по техническим причинам. С другой стороны, мой WEB-Guru однажды сказал мне, что никогда не смешивайте серверные сценарии со сценариями на стороне клиента. Я должен сказать, что теперь я полностью согласен с ним, хотя снова я не уверен, какой правильный подход при написании в Ruby. Во всяком случае, удачи! и спасибо за обмен. –