繁体   English   中英

Rails将JS部分打印代码呈现到页面

[英]Rails render JS partial printing code to page

我在Rails应用程序中使用AJAX在需要时呈现JS错误消息。 它最初是可以运行的,但是一段时间后又返回到它,它仍然显示JS错误消息,但是由于某种原因,它现在还在窗口中将整个JS文件打印为HTML 这就是控制器中所说的:

respond_to do |format|
  format.js { render :partial => 'error' }
end

我的名为_error.js.erb文件包含一些JS,它们无关,因为不管它包含什么,Rails仍将其打印到窗口。

这就是JS输出到窗口的样子:(我尝试注释掉JS以查看它是否有所作为)

Imgur

您可以进行一些修改来尝试:

respond_to do |format|
  format.js
end

在动作内部并在视图action_name.js.erb中,如果要放入erb,请编写js代码ar,然后使用escape_javascript。

检查以下链接:

为什么要在渲染局部之前进行escape_javascript?

我做的! 如果几年后会有其他人想知道,那就是答案:您应该将呈现的值放在html.erb中的javascript_tag 像这样:

javascript_tag render: 'error'

它将呈现的内容放在<script>...</script>标记之间,并转义所有不必要的代码。

这是文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM