我有一个javascript文件,我需要从我的网站外部(从外部网站)访问,但我也想预处理该文件(即使用Rail的资产管道)所以我可以在JS文件中使用一些环境变量。
知道怎么做吗?如果我将JS文件放入公用文件夹,我无法预处理它。但是,如果我将文件放入资产文件夹结构中,我可以预处理它,但是,它不会公开。
请原谅我的无知,我对此不熟悉! ;)
干杯,
太
答案 0 :(得分:2)
您在资源文件夹中放置的内容确实是公开的。如果它不能链接到javascripts,样式表和图像那里。唯一的问题是rails为了缓存破坏目的而散列文件的名称(仅在生产中)。
作为一种解决方法,您可以创建一个控制器操作,使用javascript_url
帮助程序获取散列文件路径并重定向到它。
class ThisController < ApplicationController
def some_action
redirect_to ActionController::Base.helpers.javascript_url('javascripts/your_file')
end
end
答案 1 :(得分:0)
也许尝试使用grunt构建一个任务,将已处理的javascript文件导出到公用文件夹,并在每次构建时覆盖旧版本。