0

ruby on rails の学習で、ブログ サイトを作成しました。ユーザーが AJAX 経由で投稿を追加すると、次の rjs が呼び出されます。

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

ただし、ハイライトは発生していません。また、非表示でさえも、何らかの効果はありません。

手がかり:

  • 新しい投稿だけにinsert_htmlを実行するだけで機能します(ただし、この時点で投稿のリスト全体を更新したい)
  • シーケンス内の次の id に id をハードコーディングすると、投稿では機能しませんが、次の投稿では機能します。{ ex.. ハードコード post_100... 送信 100 で強調表示なし、送信 101 で 100 を強調表示 }
  • アラートは、'post_' + @post.id.to_s が期待されるものであることを示しています (post_100 など)

アイデアやデバッグの提案はありますか?

ありがとう、オーランド

4

2 に答える 2

0

それは実際には問題に対する答えではありませんが、それ以来、rjs への依存をやめました。代わりに、ここで概説されているパターンに従っています

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

そして今、すべての効果が期待どおりに機能しています。ここで機能するはずだったのと同じコードを効果的に使用してコメントが追加されたときに、効果が機能したことに注意してください。

于 2010-03-08T15:54:43.897 に答える
0

visual_effect の前に $("post_#{@post.id}") の innerHTML を警告できますか。

それがvisual_effectに達したとき、firebugはあなたにエラーを出しますか?

visual_effect 行の後のアラートなど、他にできることはありますか?

必要な js ファイルが含まれていますか?

于 2010-03-05T07:46:20.397 に答える