我有一个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或远程链接的问题。
答案 0 :(得分:0)
我找到了问题的根源。当Fancybox关闭时,它无法正确替换打开时所需的HTML。这里记录了问题和一些解决方案: