
function myFunction(val) {if (val.length == 10) {document.getElementByID('search_button').focus();}}; 也许我错误地称它为人?这是视图中的代码:
<%= text_fIEld_tag :search_mailer,nil,autofocus: true,onkeyup: "myFunction(this.value)" %>
还有什么我必须添加到上面包含的mailers.Js文件中吗?因为这就是该文件中的所有内容. mailers.Js文件中唯一的代码是:
function myFunction(val) {if (val.length == 10) {document.getElementByID('search_button').focus();}};解决方法 您可能错过了将文件包含在清单文件中.清单文件将assets / JavaScripts目录中的所有.Js文件预编译为一个大文件.这是您的应用程序上运行的文件.如果你不在那里你的.Js文件,它不包括在内,这就是没有任何反应的原因. 包含文件的正确方法是:
//= require mailers.Js
在您的application.Js文件中.更重要的是,默认情况下你有
//= require_tree .
这需要来自assets / JavaScript路径的所有Js文件.
如果你想专门为视图包含它,请删除tihs:
<%= JavaScript_include_tag "mailers","data-turbolinks-track" => true %>
为此,如果预编译为false,则必须单独添加该文件:
在config / initializers / assets.rb中
Rails.application.config.assets.precompile += %w( mailers.Js )
要么
在config / application.rb中
config.assets.precompile += %w( mailers.Js )
问题可能是,如果您的.Js和.coffeescript文件具有相同的名称,则应用程序会预编译错误的文件.你可以尝试跑步
rake assets:clean rake assets:precompile
然后再次运行服务器.
总结以上是内存溢出为你收集整理的ruby-on-rails – Rails Asset Pipeline没有加载我的javascript文件(为什么这段代码不起作用全部内容,希望文章能够帮你解决ruby-on-rails – Rails Asset Pipeline没有加载我的javascript文件(为什么这段代码不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)