【问题标题】:Rails Asset pipeline manage issueRails 资产管道管理问题
【发布时间】:2015-05-14 11:51:54
【问题描述】:

我正在制作一个需要实时数据的页面。

因此,它需要在页面加载后进行可重复的 ajax 通信。

像这样,

jQuery ->
  setInterval -> 
    $.ajax
      url: "some url"
      success: (data, textStatus, jqXHR) ->
       #handle the data here

问题出现在这里,

我只需要one page中的这段代码

但正因为如此application.js

require_tree .

它会在每个页面中加载整个 coffeescript(javascript) 代码。

如何将这个咖啡脚本文件只包含在一页中?

我必须像这样在.erb 文件中手动包含javascript吗?

<%=javascript_include_tag 'what_i_want'%>

这是正确的方法吗?

【问题讨论】:

  • 您可以将脚本包含在您的 .erb 文件本身中,也可以创建一个单独的 js 文件并使用上面的 rails 标签调用该 js 文件。
  • 我无法理解第二个。创建一个单独的 js 文件并使用上面的 rails 标签调用该 js 文件。
  • 创建一个类似 real_time.js 的新 js 文件,并在该文件中添加您的 ajax 脚本,然后使用 调用 js 文件
  • 如果你要直接添加你的erb文件,你需要在config/initializers/assets.rb中添加你的js文件 Rails.application.config.assets.precompile += ['what_i_want.js' ']
  • 找到一个好的解决方案。 stackoverflow.com/questions/6167805/…

标签: javascript jquery ruby-on-rails ajax coffeescript


【解决方案1】:

将此包含在您的 erb 文件中。

<%= javascript_include_tag 'what_i_want' %>

如果你要直接添加你的erb文件,你需要在config/initializers/assets.rb中添加你的js文件

Rails.application.config.assets.precompile += ['what_i_want.js']

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多