这可能不是一个常见的问题,但我确实需要这个功能。
在我的控制器中,我想渲染一个 JavaScript 文件,命名ApplicationLike.js
如下:
// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
//= require rr/lib/jquery-1.7.2.min.js
//= (other requires)
然后在我的控制器中,有一个inject
动作,我想渲染 precompiled 的 CONTENTS ApplicationLike.js
,因为它将用作src
以下属性:
<script src="//localhost:3000/app/inject.js/"></script>
我们不能使用javascript_include_tag
,因为它会包含 javascript 标签<script type="text/javascript"></script>
,这会导致语法错误,因为我们只需要src
上述 ALREADY-EXISTING<script>
标签的属性的 PURE JavaScript 内容。
我不确定你们是否明白我在说什么。
我用谷歌搜索了超过 5 或 8 个小时,没有运气。
我正在使用 Rails 3.2 和 Ruby 1.9.3
注意:redirect_to /assets/ApplicationLike.js
可以,但我需要渲染更多包含动态 Ruby 变量的 JavaScript 代码行(例如current_user.id
)。
但是:当然,我们可以使用一个名为的视图inject.js.erb
,它包含ApplicationLike.js
我提到的 JavaScript 代码的内容和更多行。我只是不知道如何呈现预编译的ApplicationLike.js
JavaScript 文件的内容。