How is js.erb file trigger on client side?
当您使用jquery $.get()调用rails控制器的get请求时,相应的动作不会呈现json,如果您确实具有相应的js.erb文件以及该动作的运行方式,该文件如何运行。 Rails是否会秘密地在客户端上发送回一个请求,以使用相应的操作重新编译或启动javascript?
获取请求已发送到您的控制器。然后,基于请求格式的控制器将呈现该格式的适当模板,在本例中为* .js.erb
例如,index.js.erb可能类似于:
$("#product_list").html('<%= escape_javascript( render @products ) %>')
Rails首先评估erb <%=%>,它将产生类似以下内容的输出:
$("#product_list").html('product1product2...')
此输出现在作为对浏览器的响应返回,并且浏览器执行jquery
- 哦,是的,但是在示例代码中,我正在寻找github.com/bodrovis/SitepointMiniChat/blob/comments_polling/??app/…对在资产文件夹中的polling.coffee文件中进行的索引操作的获取请求,但是index操作未指定format.js,但代码仍可以正常工作。 Rails会自动为给定操作呈现相应的javascript吗?
-
当控制器动作未指定示例中的格式时,该动作将隐式响应所有格式。现在,由于jQuery请求是一个js请求,所以Rails知道了呈现js响应的方法。一些文件在这里