Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
rails 4控制器重定向未加载javascript_Javascript_Jquery_Ruby On Rails_Redirect - Fatal编程技术网

rails 4控制器重定向未加载javascript

rails 4控制器重定向未加载javascript,javascript,jquery,ruby-on-rails,redirect,Javascript,Jquery,Ruby On Rails,Redirect,我使用的是Rails 4。我的根目录url被路由到用户#新的。当用户注销时,我想重定向到根url,这是在会话控制器中完成的。但是,在重定向之后,不加载包含users.js中代码的javascript文件。有人能解释为什么会这样吗?如何解决 class SessionsController < ApplicationController ... def destroy log_out redirect_to root_url end

我使用的是Rails 4。我的
根目录url
被路由到
用户#新的
。当用户注销时,我想重定向到
根url
,这是在
会话
控制器中完成的。但是,在重定向之后,不加载包含
users.js
中代码的javascript文件。有人能解释为什么会这样吗?如何解决

class SessionsController < ApplicationController
    ...
    def destroy
        log_out
        redirect_to root_url
    end
在重定向页面(即根url)上,它显示:

--- !ruby/hash:ActionController::Parameters
controller: users
action: new
我猜这意味着现在控制器是
用户
。那么为什么没有加载
users.js

我需要一个教训

----
application.js
----


涡轮链接可能会导致问题。 在您的users.js中,将代码放入此块:

$(document).on('ready page:load', function() {
  // your code here
});

但是,如果您的js文件根本没有加载,上述解决方案可能无法工作。如果您在浏览器中查看页面,您会在参考资料下看到您的js吗?

您的
应用程序.js
?谢谢。我已经添加了它,默认情况下,每个js文件都会在每个页面加载。没有特定于页面的作用域。Rails的常见嫌疑犯是Turbolinks。从application.js中删除
/=require turbolinks
行,看看它是否有效。嗯,您能否更具体地说明
用户。js
未加载?
users.js
中的代码不起作用,或者在本地开发环境下的浏览器开发工具中看不到该文件?如果代码不起作用,那么您是否也可以共享
users.js
?@zkytony:构建每个页面/控制器加载的js文件并不是那么简单。可能会有帮助。如果我必须在重定向后加载js文件,我应该怎么做。
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-  directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
$(document).on('ready page:load', function() {
  // your code here
});