我已经在资产文件夹中为每个模型提供了不同的咖啡文件文件。但是,每次访问页面时都会执行它们,即使它来自不同的控制器。如果我继续/插入/新的,我希望只执行insertion.coffee,而不是所有的.coffee启动。我怎样才能一次启动一个?为什么所有咖啡脚本文件总是一次全部执行Rails
这是我insertions.coffee
$(document).on "turbolinks:load", ->
if ($('#insertion_book_search'))
console.log("found")
console.log($('#insertion_book_search').length)
console.log($('#insertion_book_title').length)
$('#insertion_books_subject').parent().hide()
这是我static_pages.coffee
$(document).on "turbolinks:load", ->
console.log("Mie cose")
$('.last_img').on 'load', ->
natHeight = $(this).get(0).naturalHeight
natWidth = $(this).get(0).naturalWidth
if (natWidth > natHeight)
$(this).css('width','100%')
else
$(this).css('height','100%')
我想什么才达到的是,当我使用插入控制器,它仅加载insertion.coffee,当我使用静态页面控制器时,它只加载static_pages.coffee。 据我所知,当我将// require_tree .
行添加到/app/assets/javascript/application.js
时,我的所有视图中都装载了所有的咖啡。
如果我删除了需要的树,我尝试用<%= javascript_include_tag ..%>添加它们。我需要有.js文件而不是咖啡。有可能加载咖啡文件?
发布您的coffeescript资产的两个单独示例。我敢打赌,你将他们绑定到同一个事件,这就是为什么他们都跑。请记住,您可以将coffeescript/js放在不同的文件中,但它们都被编译为一个单独的文件。不同的文件名将帮助您组织脚本 - 它们不是名称空间。 – MarsAtomic