Rails 3远程链接单击会在第二次单击时触发不同的请求

时间:2013-03-18 22:47:33

标签: ruby-on-rails jquery fancybox remotipart

我有一个Rails应用程序运行良好,直到我升级ruby,rubygems和我的宝石。

我的几乎所有链接都是远程链接。当我通过单击其中一个链接发出第一个请求时,会触发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格式有关。以下是公司控制器中的编辑操作:

#/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或远程链接的问题。

1 个答案:

答案 0 :(得分:0)

我找到了问题的根源。当Fancybox关闭时,它无法正确替换打开时所需的HTML。这里记录了问题和一些解决方案:

Fancy box not opening iFrame second time