我在Rails 5.2中遇到一种情况,控制器正在向{strong>字面的视图中渲染.js.erb
文件,即在视图本身中显示javascript代码。
如何让Rails运行js.erb
文件,而不是像显示DOM文件那样显示它?这使用户离开了我希望用户停留的页面。
# controller
def submit_custom_data
...perform some functions...
respond_to do |format|
format.js
end
end
# submit_custom_data.js.erb
console.log('submit_custom_data...');
... Other javascript ...
通过在Chrome上保留浏览器控制台日志,我看到了:
资源被解释为文档,但以MIME类型text / javascript:“ http://localhost:3000/submit_custom_data/1068.js?c=1&d=10&db=1&s=8&tm=&w=3”传输。
导航到http://localhost:3000/submit_custom_data/1068.js?c=1&d=10&db=1&s=8&tm=&w=3
在Rails 4.2.7上没有发生此问题。在更新到Rails 5.2.7(并更新了包)之后,我现在看到了这些问题。