Как: обновлять после: успех с помощью метода link_to_remote Rails?

Я пытаюсь сделать две вещи после того, как пользователь нажимает на ссылку:

  1. Удалить div
  2. Добавьте еще один элемент внизу страницы

Я играл с Rails link_to_remote, и с помощью приведенного ниже кода я получаю, что элемент добавляется перед удалением div:

<%= link_to_remote "&#x2713;",
  :url => {
    :controller => :movies,
    :action => :mark_as_seen,
    :movie => movie,
    :render => 'movie' },
  :success => "Effect.Fade('movie_#{movie.id}_wrapper', { duration: 0.4 })",
  :update => "movies", :position => "bottom",
  :failure => "alert('Ooops! An error occurred.')"
%>

Я пытался поставить :update а также :position в :complete Обратный звонок, но ничего не произошло. И когда я положил их обоих в :success обратный звонок (после Effect.Fade), все, что я получаю, это ошибка синтаксического анализа.

Любая идея?

Спасибо,

Kevin

1 ответ

Решение

Я не совсем уверен, правильно ли я понимаю, но я предполагаю, что вы хотите удалить div до того, как произойдет действие:update.

Как обычно это удивительно просто:)

<%= link_to_remote "&#x2713;",
  :url => {
    :controller => :movies,
    :action => :mark_as_seen,
    :movie => movie,
    :render => 'movie' },
  :before => "Effect.Fade('movie_#{movie.id}_wrapper', { duration: 0.4 })",
  :update => "movies", :position => "bottom",
  :failure => "alert('Ooops! An error occurred.')"
%>

так что просто замени :success с :before сделаю это первым. Надеюсь, что это делает то, что вы хотите:)

Объяснение простое: :success Действие выполняется после успешного завершения полного действия, также как и обновление. :before действие выполняется до выполнения удаленного действия. Например, я использую это все время, чтобы показать счетчик во время удаленного действия.

Другие вопросы по тегам