【发布时间】:2010-11-17 18:30:25
【问题描述】:
我正在使用 Ruby on Rails 2.3.8。我有一个投票链接,当您单击它时,它会执行以下操作:
def vote
render :update do |page|
page.select(".divbrian").each do |d|
page.replace_html d, "YA SEEE"
end
page.select('.d_voting_links_' + params[:post_id].to_s).each do |d|
page.replace_html d, :partial => 'post_votes/voted'
end
page.select('.d_vote_count_' + params[:post_id].to_s).each do |d|
page.replace_html d, Post.find(params[:post_id]).get_vote_count
end
end
end
在 HTML 中,“d_voting_links_”类的 div 与 html 页面中显示的帖子一样多。
我不知道为什么,在我安装了 Paperclip、Rails TinyMCE 和 Hpricot 插件(它们都在最新版本上)之后,这些 ajax 请求停止工作(真的很疯狂)。
我没有改变我的代码,我什至检查了我以前的版本,它可以工作,没有任何改变,但那些插件。
我还尝试创建一个简单的 div 并从相同的操作中调用它,但它无法识别它(如果我从请求中删除“.”,它会识别它,但它会搜索 ID,我需要搜索类)。
你知道这些插件和这个 ajax 语法之间的任何已知问题吗?或者……你知道问题可能是什么吗?
【问题讨论】:
-
现在是否调用投票方法?设置断点并查看该方法的流程?
-
是的。事实上,渲染 :update 块正在执行......但不知何故,它没有找到任何具有该类的 div,即使它存在于 HTML 中......真的很奇怪
-
没有解决方案,但提示:
html_escape对params[:post_id].to_s的调用
标签: ruby-on-rails tinymce hpricot ajax-on-rails