Перетаскивание Ruby on Rails не работает - PullRequest
0 голосов
/ 09 октября 2009

Я пытаюсь создать приложение Ruby on rails, используя встроенный в сценарий эффект перетаскивания.

Поскольку я новичок в языке ruby, в результате просмотра этого документа я получил этот код, но не могу понять, почему код контроллера не выполняется.

На странице html.erb div источника

   <% for therm in @therms %>
   <tr valign="top" class="<%= cycle('list-line-odd', 'list-line-even') %>">

  <td>
  <% therm_id = "therm_#{therm.id}" %>
  <li class="origin" id='<%= therm_id %>'><%= therm.id %></li>
  </td>

Цель

<%= image_tag "dragtrash.png", :id=>'trash'%>

И я идентифицирую цель падения

<%= drop_receiving_element('trash',
:accept => 'origin',
:complete => "$('spinner').hide();" ,
:before => "$('spinner').show();" ,
:hoverclass => 'hover',
:with => "'paramid=' + encodeURIComponent(element.id.split('_').last())" ,
:url => {:action=>:trash_therm})%>

И, наконец, в моем контроллере

   def trash_therm
 redirect_to(:action => 'create')
   end

Когда я бросаю предмет в цель, отброшенное содержимое прилипает к цели. Если цель не «поймает» предмет, он вернется в исходное положение. Я не понимаю, почему код в контроллере не выполняется.

Заранее благодарен за помощь

1 Ответ

0 голосов
/ 10 октября 2009

Возможно, был выполнен код в контроллере. Проблема в том, что он перенаправит запрос ajax на новый URL, а не в браузер.

Вам необходимо добавить перенаправление JavaScript к опции :complete.

window.location.href = url
...