Javascript Rails资产管道管理问题
我正在制作一个需要实时数据的页面 因此,页面加载后需要一个可重复的ajax通信 像这样,Javascript Rails资产管道管理问题,javascript,jquery,ruby-on-rails,ajax,coffeescript,Javascript,Jquery,Ruby On Rails,Ajax,Coffeescript,我正在制作一个需要实时数据的页面 因此,页面加载后需要一个可重复的ajax通信 像这样, jQuery -> setInterval -> $.ajax url: "some url" success: (data, textStatus, jqXHR) -> #handle the data here 问题就出在这里, 我只在一页中需要此代码 但正因为如此,在application.js中 require_tree .
jQuery ->
setInterval ->
$.ajax
url: "some url"
success: (data, textStatus, jqXHR) ->
#handle the data here
问题就出在这里,
我只在一页中需要此代码
但正因为如此,在application.js中
require_tree .
它在每个页面中加载整个coffeescript(javascript)代码
如何仅在一页中包含此coffeescript文件
我是否必须像这样在.erb
文件中手动包含javascript
<%=javascript_include_tag 'what_i_want'%>
这是正确的方法吗?将其包含在您的erb文件中
<%= javascript_include_tag 'what_i_want' %>
您可以将脚本包含在.erb文件中,也可以创建一个单独的js文件,并使用上面的rails标记调用该js文件。我无法理解第二个。创建一个单独的js文件,并使用上面的rails标记调用该js文件。创建一个类似real_time.js的新js文件,并在该文件中添加ajax脚本,然后使用调用js文件,如果要直接将其添加到erb文件中,则需要将js文件添加到config/initializers/assets.rb rails.application.config.assets.precompile+=['what\u i\u want.js']找到一个好的解决方案。
Rails.application.config.assets.precompile += ['what_i_want.js']