Ruby on rails 将_重定向到AJAX post停止在远程计算机上工作后

Ruby on rails 将_重定向到AJAX post停止在远程计算机上工作后,ruby-on-rails,ajax,redirect,Ruby On Rails,Ajax,Redirect,我有一个“创建”操作,它由AJAX调用。然后重定向到另一个操作。在我本地的机器上,一切正常。以下是来自本地计算机的日志文件: Started POST "/tasks" for 127.0.0.1 at 2016-10-06 20:08:44 +0200 Processing by TasksController#create as JS Started GET "/roles/refresh_blank_page?cursor=3988&focus=true" for 127.0.0

我有一个“创建”操作,它由AJAX调用。然后重定向到另一个操作。在我本地的机器上,一切正常。以下是来自本地计算机的日志文件:

Started POST "/tasks" for 127.0.0.1 at 2016-10-06 20:08:44 +0200
Processing by TasksController#create as JS

Started GET "/roles/refresh_blank_page?cursor=3988&focus=true" for 127.0.0.1 at 2016-10-06 20:08:44 +0200
Processing by RolesController#refresh_blank_page as JS
但在远程机器上,在开发或生产中,它与“ActionController::UnknownFormat”分离。正如您在日志中看到的那样,格式突然变成了HTML:

Started POST "/tasks" for 88.217.180.75 at 2016-10-06 20:13:00 +0200
Processing by TasksController#create as JS

Started GET "/roles/refresh_blank_page?cursor=3981&focus=true" for 88.217.180.75 at 2016-10-06 20:13:02 +0200
Processing by RolesController#refresh_blank_page as HTML
以下是我的行动:

def create
  (...)
  redirect_to roles_refresh_blank_page_path(focus: true, cursor: @task.id)
end


def refresh_blank_page
  (...)
  respond_to do |format|
    format.js { render :file => "/roles/refresh_blank_page.js.erb" }
  end
end
我在这里读了很多帖子,并在重定向中添加了“format:'js'”(还尝试了“remote:true”)

在我现在看到的日志中:

Started GET "/roles/refresh_blank_page.js?cursor=3983&focus=true" for 88.217.180.75 at 2016-10-06 20:19:12 +0200
Processing by RolesController#refresh_blank_page as JS
但这现在会生成“角色控制器中的ActionController::InvalidCrossOriginRequest#刷新(空白)页面”

我比较了本地机器和远程机器上的gems。远程计算机上的一些gem具有更高的版本号。在这两种情况下,我都运行rails 4.1.8和ruby 2.1.5p273

谢谢你的帮助,
Ron

我解决了这个问题,我使用
捆绑包
将所有开发宝石打包到供应商/缓存中。现在它在远程机器上工作


参见

我解决了这个问题,我使用
捆绑包
将所有开发宝石打包到供应商/缓存中。现在它在远程机器上工作

比照

Started GET "/roles/refresh_blank_page.js?cursor=3983&focus=true" for 88.217.180.75 at 2016-10-06 20:19:12 +0200
Processing by RolesController#refresh_blank_page as JS