我正在使用 Rails 3.2.12。
我想在我的 Assets JavaScript 文件中插入一个 ruby 代码:
function trim(string) {
return string.replace(/(^\s+)|(\s+$)/g, "");
}
function <%= controller_name %>() {
...
}
我该怎么做?
提前致谢。
最佳答案
如果你要传递的变量是独立于请求的——那么只要给它一个名字*.js.erb
。
对于特定于请求的数据(如示例中的 Controller 名称),这是不可能的。 Javascript 文件独立于应用程序请求加载,通常它们由应用程序服务器(apache、nginx)作为静态 Assets 提供。因此,如果您想要一些依赖于请求的自定义脚本,请将其放入您的 View 模板 (.html.erb) 中。
此外,您当然可以通过应用程序(在 routes.rb
中定义它的路由)将请求代理到您的 js 文件,但这不会被视为好的代码。
关于javascript - Rails 3.1 在 JavaScript 文件中插入 ruby 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17809591/