Javascript 如何在js.haml文件(RubyonRails)中写入外部.js文件的内容

Javascript 如何在js.haml文件(RubyonRails)中写入外部.js文件的内容,javascript,ruby-on-rails,view,haml,external,Javascript,Ruby On Rails,View,Haml,External,我正在使用RubyonRails框架,我喜欢它 到目前为止,我一直在使用show.html.haml查看视图,一切都很好。我们想添加另一个支持GET请求的选项,该选项由post-fix.js组成。为此,我们向控制器添加了另一个名为show.js.haml的并行视图。 Rails的“魔力”在于将.html后期修复请求路由到第一个,将.js后期修复请求路由到第二个 问题是当请求被路由到show.js.haml视图时,我找不到一种方法来编写外部.js文件的内容。我得到的只是文本本身(即),而不是文件的

我正在使用RubyonRails框架,我喜欢它

到目前为止,我一直在使用
show.html.haml
查看视图,一切都很好。我们想添加另一个支持GET请求的选项,该选项由post-fix
.js
组成。为此,我们向控制器添加了另一个名为
show.js.haml
的并行视图。 Rails的“魔力”在于将.html后期修复请求路由到第一个,将.js后期修复请求路由到第二个

问题是当请求被路由到
show.js.haml
视图时,我找不到一种方法来编写外部.js文件的内容。我得到的只是文本本身(即
),而不是文件的实际内容

我找到了一个解决方案,它肯定不是最优的(性能、健壮性等):将文件下载到服务器并使用以下功能:

!= File.open(Rails.root.join('public' , 'js',  'jquery-1.11.2.min.js'), 'rb').read
这是我发现的唯一一种实际编写.js文件内容的方法

将外部.js文件的内容写入.js.haml文件必须有Ruby的优雅方式

任何帮助都将不胜感激。
谢谢

我认为您需要的是rails资产管道

我不确定您为什么需要此功能,以及这是一个好主意,但您可以尝试此功能(未经测试):


当然,这只适用于可访问的本地资源,但这就是为什么
您真的需要文件的内容,还是只需要能够使用它?谢谢您的回答。我不想使用它,我需要文件的内容。谢谢,但是你的回答不能帮助我提取外部.js文件的内容。这应该在js响应上打印文件的内容,就像许多语言中的“include”或“require”一样。这不是你的问题吗?或者,您可能正在寻找文件本身的内容,作为存储在变量中的“字符串”,以便可以对其进行操作?请澄清。是的,我正在寻找文件本身的内容,作为字符串。在这种情况下有什么建议吗?谢谢,尽管我已经找到了本地文件的解决方案。我需要找到一种方法对外部.js文件执行相同的操作。。。这个案子有什么解决办法吗?是的,确实有!非常感谢:)谢谢,但我之前已经阅读了全部文档:)管道资产肯定会允许我使用外部.js文件,但我正在寻找其他东西-我需要从外部.js文件中提取内容(稍后再使用)。
# show.js.haml

// some javascript
= render file: Rails.root.join('public' , 'js',  'jquery-1.11.2.min.js')
// or
"#{render file: Rails.root.join('public' , 'js',  'jquery-1.11.2.min.js')}"
# show.js.haml
- content = capture do
- render file: Rails.root.join('public' , 'js',  'jquery-1.11.2.min.js')

# for remote files
- content = open('http://url.to/file.js').read
= content