1

在升级 ruby​​、rubygems 和我的 gem 之前,我有一个运行良好的 Rails 应用程序。

几乎我所有的链接都是远程链接。当我通过单击其中一个链接发出第一个请求时,会触发 Fancybox 并正确打开新内容。当我关闭该框并再次单击相同的链接时,生成的请求完全不同。它请求索引,因此 Fancybox 填充了索引响应。

示例链接:

<a href="/companies/87/edit" data-remote="true">Handmade Design</a>

第一个请求:

Started GET "/companies/89/edit" for 127.0.0.1 at 2013-03-18 15:34:26 -0700
Processing by CompaniesController#edit as JS

第二个请求:

Started GET "/companies" for 127.0.0.1 at 2013-03-18 15:34:26 -0700
Processing by CompaniesController#index as */*

如果有帮助,我将依赖 jquery-rails gem、fancybox 和 remotipart gem。由于这些都已更新,似乎错误可能出现在这些区域之一,但请求完全不同的事实让我认为这是 Rails 格式的问题。下面是 Companies 控制器中编辑操作的样子:

#/controllers/companies_controller.rb
respond_to :html, :json
respond_to :js,   :only => [:new, :create, :edit, :update, :destroy]

# ...

# GET /companies/1/edit
def edit
  respond_with @company
end

我使用前置过滤器来获取公司。

任何帮助或线索将不胜感激。

更新

第二个请求似乎总是对当前页面的请求。

更新

我已将其隔离为 JS 问题。这似乎不是 Rails 或远程链接的问题。

4

1 回答 1

0

我找到了问题的根源。当 Fancybox 关闭时,它并没有正确替换打开时使用的 HTML。此处记录了该问题和一些解决方案:

花式盒子没有第二次打开 iFrame

于 2013-03-19T00:37:08.620 回答