visual_effect после replace_html не работает в rjs - PullRequest
0 голосов
/ 04 марта 2010

Изучая ruby ​​на рельсах, я создал блог-сайт.Когда пользователь добавляет сообщение через AJAX, вызываются следующие rjs:

page.replace_html 'posts',  :partial => @posts
page.visual_effect :Highlight, 'post_' + @post.id.to_s

Тем не менее, выделение не происходит ... и никакого эффекта, даже скрытия.

Подсказки:

  • Это работает, если я просто делаю insert_html только для нового сообщения (но я хочу обновить весь список сообщений в это время)
  • Если я жестко закодирую идентификатор для следующего идентификатора в последовательности, он не сработает на посте, но сработает на следующем посте.{ex .. hardcode post_100 ... нет выделения при отправке 100, выделите 100 при отправке 101}
  • Предупреждение показывает, что 'post_' + @ post.id.to_s - то, что ожидается (post_100 и т. д.)

Есть идеи или предложения по отладке?

Спасибо, Орландо

Ответы [ 2 ]

0 голосов
/ 08 марта 2010

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

http://blog.solnic.eu/2007/10/30/why-javascript-helpers-in-rails-are-evil

И теперь все эффекты работают как положено. Обратите внимание, что я получил эффект, когда комментарии были добавлены с использованием фактически того же кода, который должен был работать здесь, поэтому я совершенно уверен, что произошла какая-то странная ошибка оператора.

0 голосов
/ 05 марта 2010

Можете ли вы предупредить innerHTML о $ ("post_# enj@post.id}") перед визуальным эффектом.

Firebug выдает ошибку, когда доходит до visual_effect?

Можете ли вы сделать что-то еще, например, предупреждение после строки visual_effect?

Есть ли у вас необходимые js-файлы?

...