Одновременное использование act_as_list и in_place_editing

У меня есть проект rails, в котором представление отображает список элементов. Я использую act_as_list, чтобы сделать список доступным для заказа DnD, и in_place_editing для каждого элемента, чтобы, ну, отредактировать его.

Моя проблема в том, что когда я DnD элементы вокруг, элемент, который я перетаскиваю, автоматически становится редактируемым, когда я его бросаю. Любые советы о том, как я могу избежать такого поведения.

В идеале я хотел бы сделать его доступным для редактирования, щелкнув маленький значок рядом с элементом, но я не знаю, как это сделать с этим плагином.

Заранее спасибо.


person CJ F    schedule 25.03.2009    source источник


Ответы (1)


Это происходит потому, что элемент, который вы перетаскиваете, имеет прослушиватель при наведении мыши, который начинает редактирование. Вы можете указать :external_control в хеше параметров, если хотите, чтобы другой элемент запускал редактирование.

<div id="<%= dom_id(@obj) -%>">
  <span><%= @obj.to_s -%></span>
  <img id="<%= dom_id(@obj, :edit) -%>" src="edit_handle.png"/>
</div>
<%= in_place_editor(dom_id(@obj), :external_control => dom_id(@obj, :edit)) %>
<%= draggable_element(dom_id(@obj)) %>
person Sam Coles    schedule 25.03.2009
comment
Кажется, это только часть. Добавление :external_control заставляет другой элемент запускать его вместе с щелчком по фактическому тексту. Предполагается ли отключить эффект щелчка по исходному тексту, чтобы сделать его редактируемым? - person CJ F; 26.03.2009