【问题标题】:Some issue with Ajax on RailsAjax on Rails 的一些问题
【发布时间】: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_escapeparams[:post_id].to_s 的调用

标签: ruby-on-rails tinymce hpricot ajax-on-rails


【解决方案1】:

我不知道为什么该代码块停止工作......但我现在发现如果没有 page.select 块,它仍然可以工作并将所有 div 替换为这些类名。

【讨论】:

    猜你喜欢
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 2012-12-12
    相关资源
    最近更新 更多