Rails 3.1在JavaScript文件中插入ruby代码

Les*_*iev 3 javascript ruby-on-rails asset-pipeline

我正在使用Rails 3.2.12.
我想在我的资产JavaScript文件中插入一个ruby代码:

function trim(string) {
  return string.replace(/(^\s+)|(\s+$)/g, "");
}

function <%= controller_name %>() {
...    
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?
提前致谢.

Kon*_*udy 8

如果要传递的变量与请求无关 - 那么只需给它命名即可*.js.erb.

对于特定于请求的数据(如示例中的控制器名称),这是不可能的.Javascript文件独立于应用程序请求加载,通常它们由应用程序服务器(apache,nginx)作为静态资产提供.因此,如果您想要一些依赖于请求的自定义脚本,请将其放在视图模板(.html.erb)中.

你也可以通过应用程序代理请求你的js文件(定义它的路由routes.rb),但这不会被视为好的代码.