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,则它不适用于该帖子,但它可以用于下一个帖子。{ 例如 .. 硬编码 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

你能在视觉效果之前提醒 $("post_#{@post.id}") 的 innerHTML 吗?

萤火虫在达到视觉效果时会给你一个错误吗?

你能做点别的吗,比如 visual_effect 行之后的警报?

你有包含所需的js文件吗?

于 2010-03-05T07:46:20.397 回答