Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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
Javascript Rails:在一个请求中呈现html和js_Javascript_Ruby On Rails - Fatal编程技术网

Javascript Rails:在一个请求中呈现html和js

Javascript Rails:在一个请求中呈现html和js,javascript,ruby-on-rails,Javascript,Ruby On Rails,当用户访问我的站点时,我希望呈现index.html.haml和index.js.haml。我正试图让我的JS离开视图 目前,它只是呈现html。当然,使用html和js向块中添加respond_只会呈现html 我该怎么做?有更好的办法吗?我不想在/assets/JS中包含JS,因为ruby是在JS中执行的。rails控制器操作一次只能响应一个HTTP请求,即使它可以响应多个HTTP请求,JS也是从HTML请求的,初始请求是以任何方式发出的,因此它是一个单独的请求 如果为了清晰起见,希望将Ja

当用户访问我的站点时,我希望呈现index.html.haml和index.js.haml。我正试图让我的JS离开视图

目前,它只是呈现html。当然,使用html和js向块中添加respond_只会呈现html


我该怎么做?有更好的办法吗?我不想在/assets/JS中包含JS,因为ruby是在JS中执行的。

rails控制器操作一次只能响应一个HTTP请求,即使它可以响应多个HTTP请求,JS也是从HTML请求的,初始请求是以任何方式发出的,因此它是一个单独的请求

如果为了清晰起见,希望将Javascript保存在另一个文件中,那么可以创建一个分部文件并以这种方式加载它

在响应控制器操作并将@my_var传递给部分/views/mycontroller/my_action.html.erb的视图中:

<%= render 'my_action_js', :my_var => @my_var %>
以及部分./views/mycontroller/_my_action_js.html.erb

<script type="text/javascript">
    alert(<%= my_var %>);
</script>

rails控制器操作一次只能响应一个HTTP请求,即使它可以响应多个HTTP请求,JS也是从HTML请求的,初始请求是以任何方式发出的,因此它是一个单独的请求

如果为了清晰起见,希望将Javascript保存在另一个文件中,那么可以创建一个分部文件并以这种方式加载它

在响应控制器操作并将@my_var传递给部分/views/mycontroller/my_action.html.erb的视图中:

<%= render 'my_action_js', :my_var => @my_var %>
以及部分./views/mycontroller/_my_action_js.html.erb

<script type="text/javascript">
    alert(<%= my_var %>);
</script>

顺便说一句,javascript并不是呈现出来的,它只是一个提示。渲染是向用户显示内容。顺便说一句,javascript不是渲染的,只是一个提示。渲染是向用户显示内容。@KreeK,Rails是否愿意这样做,将javascript部分作为ajax轮询请求,从数据库获取数据,然后进行渲染?@yeenow123不确定是否是Rails的方式:但我看不出有任何问题。我的一般规则是,如果是少量数据,请将其与原始请求一起传递,如果数据较大,并且您希望在页面上获取一些内容,这样用户就不会放弃,然后在事后加载。@KreeK,Rails是否喜欢将javascript部分作为ajax轮询请求来从db获取数据,然后进行渲染?yeenow123不确定是否是Rails的方式:但我看不出有什么问题。我的一般规则是,如果是少量数据,则将其与原始请求一起传递,如果数据较大,并且您希望在页面上获得一些内容,这样用户就不会放弃,然后在事实发生后加载它。