我有一个简单的PagesController和'homepage'方法。
我只想让方法响应我的homepage.js.erb模板文件,其中包含一个简单的console.log("Hello World!");
所以我写了respond_to do |format|
format.js
format.html
end
在我的主页方法,但它什么也没做。 (我的Chrome控制台中没有hello world
)。
如果我删除了format.html
rails,则会向我显示此错误"ActionController::UnknownFormat"
。
turbolinks有问题吗?我该怎么办?
感谢JD
答案 0 :(得分:0)
Turbolinks以Html的形式发送请求,因此js文件不会被呈现,但是HTML一,而客户端turbolinks只是用新内容替换body并更新URL。
如果要渲染js.erb文件,则需要启动js请求而不是html。只需在link_to中写入remote true。
实施例
= link_to 'XYZ', url, :remote => true
或者,如果您想在浏览器上为HTML请求执行js代码,那么您需要在HTML文件中编写JavaScript代码(format.html)
示例:
javascript:
console.log("Hello World!");