我在我的Rails应用程序中使用AJAX在需要时呈现JS错误消息。它最初工作,但现在回到它一段时间后,它仍然显示JS错误消息但由于某种原因它现在也在窗口中将整个JS文件打印为HTML。这就是控制器中调用的内容:
respond_to do |format|
format.js { render :partial => 'error' }
end
我的名为_error.js.erb
的文件包含一些不相关的JS,无论它包含什么,Rails仍然将它打印到窗口。
这就是JS看起来输出到窗口的内容:(我试着评论JS,看它是否有所作为)
答案 0 :(得分:1)
您可以尝试进行一些修改:
respond_to do |format|
format.js
end
在动作内部和视图中action_name.js.erb编写你的js代码ar如果你想放置你的erb然后使用escape_javascript。
检查以下链接:
答案 1 :(得分:0)
我做到了!如果几年之后会有其他人想知道,那就是答案:你应该将渲染值放在html.erb中的javascript_tag
内。像这样:
javascript_tag render: 'error'
将放置在<script>...</script>
标记之间呈现的内容并转义所有不必要的代码。
Here's上的文档