Ruby on rails 渲染:js不工作

Ruby on rails 渲染:js不工作,ruby-on-rails,render,Ruby On Rails,Render,我正在处理窗口7,并且面临渲染问题 render :js => "alert('Hello')". 但它并没有变得警觉 有没有人对此问题有过经验。请确保有JS格式的客户端请求,因为在这种情况下,Rails为JS设置了内容类型,而不是text/html您似乎正在尝试调试代码。在过滤器之前使用不是最好的方法。一个请求只能呈现一次 我建议在日志中添加语句,并使用浏览器(Chrome/Firefox)的javascript/开发控制台:这将显示什么是完美的,dn在客户端上执行什么,以及失败的原因

我正在处理窗口7,并且面临渲染问题

render :js => "alert('Hello')".
但它并没有变得警觉


有没有人对此问题有过经验。

请确保有JS格式的客户端请求,因为在这种情况下,Rails为JS设置了内容类型,而不是
text/html

您似乎正在尝试调试代码。在过滤器之前使用
不是最好的方法。一个请求只能呈现一次

我建议在日志中添加语句,并使用浏览器(Chrome/Firefox)的javascript/开发控制台:这将显示什么是完美的,dn在客户端上执行什么,以及失败的原因(如果失败)


希望这有帮助。

您应该使用AJAX进行调用,因此您应该将参数“remote:true”添加到调用该操作的链接或表单中。

在任何情况下,我都没有收到警报,我尝试了异步和同步请求。我使用的是Windows machine。请在浏览器中检查请求响应。如果它是
text/html
,则您的客户端代码将发送内容类型无效的请求。例如,在jQuery on
ajax
中,您可以指定
dataType
see()[我将其更改为content\u type=>application/x-javascript也做了:render:js=>“警报('Mine方法')”,:content_type=>'text/javascript'我正在使用主干框架!请显示您的控制器方法和ajax调用。它在windows上运行的事实与此问题完全无关。请求将转到xyz方法,但我添加了一个before筛选器,该筛选器的呈现代码为:def session_expiry render:js=>“alert('Mine method')”,:content\u type=>'text/javascript'不,我没有调试我的代码,请参阅请求转到MyController的创建方法,但我添加了一个before\u filer:check\u active\u time check\u active\u time has render:js=>“alert('hello')”,这个过程是由ajax完成的。这就是场景……如果有的话,请帮助我。1)我相信在过滤器之前的
中进行渲染是错误的!2)使用我声明的工具搜索错误,或显示更多代码。
render:js
只有在您的ajax是正确的情况下才能工作,就像@MarkGut所说的那样。我理解,但我的需求就像它一样,我知道如果用户空闲30分钟,我将重定向到登录页面。所有页面都可以重定向到,但有些页面只有ajax(使用主干),所以我需要为ajax请求进行渲染…我没有选择,如果您有更好的想法,请让我知道