Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在本地工作,但不在Heroku工作_Ruby On Rails_Heroku_Devise - Fatal编程技术网

Ruby on rails 在本地工作,但不在Heroku工作

Ruby on rails 在本地工作,但不在Heroku工作,ruby-on-rails,heroku,devise,Ruby On Rails,Heroku,Devise,所以我使用Desive进行登录/注销。我注意到我的登出链接在本地运行得很好,但即使在我添加、提交和推送之后,也无法在Heroku上运行 以下是我在Heroku日志中看到的内容 2014-04-23T22:16:09.987029+00:00 heroku[router]: at=info method=GET path=/users/sign_out host=peaceful-atoll-4795.herokuapp.com request_id=16559a9f-0cff-4179-8aeb

所以我使用Desive进行登录/注销。我注意到我的登出链接在本地运行得很好,但即使在我添加、提交和推送之后,也无法在Heroku上运行

以下是我在Heroku日志中看到的内容

2014-04-23T22:16:09.987029+00:00 heroku[router]: at=info method=GET path=/users/sign_out host=peaceful-atoll-4795.herokuapp.com request_id=16559a9f-0cff-4179-8aeb-d393ae44de38 fwd="108.233.86.201" dyno=web.1 connect=60ms service=34ms status=404 bytes=1616
请注意,它尝试在应该删除它时使用GET方法注销。当我的路线正确时,为什么要使用GET方法

耙道:

设计.rb设置为这样

config.sign_out_via=:删除

我的视图中的链接代码


提前感谢您的任何资源或投入

所以,正如所料,我的路线是正确的,但我的应用程序无法访问jquery_ujs

jquery_ujs帮助创建method::delete工作

为了提供jquery_ujs的正确路径,我将gem'rails_12factor',group::production添加到我的Gemfile并运行bundle安装

rails\u 12factor也有助于为Heroku中的静态资产提供服务

感谢@MichaelSzyndel提供的有用资源


Heroku上的Rails 4资产管道:

因此,正如预期的那样,我的路由是正确的,但我的应用程序无法访问jquery_ujs

jquery_ujs帮助创建method::delete工作

为了提供jquery_ujs的正确路径,我将gem'rails_12factor',group::production添加到我的Gemfile并运行bundle安装

rails\u 12factor也有助于为Heroku中的静态资产提供服务

感谢@MichaelSzyndel提供的有用资源


Heroku上的Rails 4资产管道:

这里没有答案,因为我仍然无法对stackoverflow发表评论P最好查看applicationon.js文件以确保

Rails>~4.0

您可能需要将rails\u 12\u factor gem包含到您的gem文件中。这是因为rails 4在默认情况下不会提供静态资产,因此可能存在问题。请在此处查看:

Rails>~4.1


您需要将资产的预编译声明到application.rb或和assets.rb初始值设定项中。这是使开发模式与生产模式相匹配所必需的。链轮会改变。检查此项:

此处为盲答案,因为我仍然无法对stackoverflow发表评论:P最好查看applicationon.js文件以确保

Rails>~4.0

您可能需要将rails\u 12\u factor gem包含到您的gem文件中。这是因为rails 4在默认情况下不会提供静态资产,因此可能存在问题。请在此处查看:

Rails>~4.1


您需要将资产的预编译声明到application.rb或和assets.rb初始值设定项中。这是使开发模式与生产模式相匹配所必需的。链轮会改变。检查此项:

我在Heroku上使用Rails 5的解决方案是只需按如下方式重新排序js文件:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets

对我来说,在Heroku上使用Rails 5的解决方案是简单地按如下方式重新排序js文件:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
为了快速解决问题

config.sign_out_via = :delete

在config/designe.rb中。 不幸的是,它在生产模式下运行良好。但它会在开发模式上产生错误

这是解决方案的原始链接。 对于快速修复

config.sign_out_via = :delete

在config/designe.rb中。 不幸的是,它在生产模式下运行良好。但它会在开发模式上产生错误

这是解决方案的原始链接。

请从您的视图中添加链接代码。@MichaelSzyndel mkay,将其添加到我的问题中。由于method::delete通过query\u ujs工作,我想页面上有JS错误。你能看看浏览器开发控制台吗?@MichaelSzyndel。。。是的,我在控制台看到它缺少一个js文件。。。加载资源失败:服务器响应的状态为404未找到http://peaceful-atoll-4795.herokuapp.com/assets/application-22775dd19bb60dc14c0a7f14a1dd954f.jsSo 在git推送到Heroku之后,您可能会遇到资产编译问题,请参阅日志,或者存在其他几种可能性。签出“请从您的视图中添加链接代码”。@MichaelSzyndel mkay,将其添加到我的问题中。由于method::delete通过query_ujs工作,我想页面上有JS错误。你能看看浏览器开发控制台吗?@MichaelSzyndel。。。是的,我在控制台看到它缺少一个js文件。。。加载资源失败:服务器响应的状态为404未找到http://peaceful-atoll-4795.herokuapp.com/assets/application-22775dd19bb60dc14c0a7f14a1dd954f.jsSo 在git推送到Heroku之后,您可能会遇到资产编译问题,请参阅日志,或者存在其他几种可能性。退房
config.sign_out_via = :get