【发布时间】:2012-05-06 01:34:59
【问题描述】:
我之前在这里看到过这个问题,但无法使用建议的解决方案来解决我的问题。 基本上我已经为我正在开发的网站实现了 rails pjax gem,但是它只适用于某些内容。主页和初始级别的链接不会以 pjax-y 方式加载,但是每个后续页面都会这样做。
这是为网站声明收益的唯一地方。
<!DOCTYPE html>
<html>
<head>
<title>MyWellbeing.org - What's on your mind?</title>
<%= stylesheet_link_tag "application" %>
<%= raw "<link href='http://#{request.env["HTTP_HOST"]}/sites/site_styles.css' media='screen' rel='stylesheet' type='text/css' />" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body>
<div class="container">
<div id="clicked_off_div" class="display_none"></div>
<%= render 'articles/shared_article_header' %>
<%= render 'articles/logged_in' if user_signed_in? %>
<div data-pjax-container>
<%= yield %>
</div>
<%= render 'articles/shared_footer' %>
</div>
<%= render 'shared/google_analytics' %>
</body>
</html>
这里是工作站点http://core.giffordteam.com 的链接编辑:推送到现场站点
任何关于这个问题的指针将不胜感激。一些(但不是全部)页面是如何工作的,这非常令人困惑。
谢谢
【问题讨论】:
-
没有最终的html是不可能的,但是
<div onclick="location.href='articles/sad';">可能会绕过pjax,所以这是一回事。调试起来应该相当简单——只记得在firebug的网络面板中打开persist(不确定其他浏览器是否有等效项)。 -
你好肖恩。如果这有帮助,我将把它推送到实时站点。我在我的服务器面板中注意到,对非工作页面的请求没有通常的 Started GET "/?_pjax=%5Bdata-pjax-container%5D" 样式请求,只是标准的 Started GET "/articles /饥饿的”。我不确定这意味着什么?随着坚持(感谢提示)我收到一个中止的请求 GET core.giffordteam.com/articles/... jquery.js?body=1 (第 8103 行)。这能说明什么?我会看看那个 onclick 的东西,看看这是否有帮助。谢谢
-
好的,我修复了 onclick 并推送,但没有解决问题,现在其他一些页面似乎有中止问题。我读过也许控制器中的渲染格式可能是问题?这是一个典型的摘录。 def index ATarticle_relationships = ArticleRelationship.all respond_to do |format| format.html # index.html.erb format.json { render json: ATarticle_relationships } end end 也不知道是不是真的,但是我的本地版本似乎是通过pjax方式工作的,而我的服务器没有。但也许 firebug 无法在本地检测到错误?
-
好的似乎已经完全修复了。我将默认超时更改为“$.pjax.defaults.timeout = false;”还结合您的 onclick 建议,现在整个事情似乎都奏效了。
-
很好地调试了这两个问题。您应该写一个答案并接受它,以便将来查看此问题的人更清楚。
标签: ruby-on-rails ajax ruby-on-rails-3 pjax