3

Rails 3.2.12 を使用しています。
アセット JavaScript ファイルに ruby​​ コードを挿入したいと思います。

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

function <%= controller_name %>() {
...    
}

これどうやってするの?
前もって感謝します。

4

3 に答える 3

8

渡す変数がリクエストに依存しない場合は、名前を付けて*.js.erbください。

リクエスト固有のデータ(例のコントローラー名など)の場合、それは不可能です。Javascript ファイルはアプリケーション リクエストとは別に読み込まれ、通常はアプリケーション サーバー (Apache、nginx) によって静的アセットとして提供されます。したがって、リクエストに依存するカスタム スクリプトが必要な場合は、それをビュー テンプレート (.html.erb) 内に配置します。

また、アプリケーションを介して js ファイルにリクエストを確実にプロキシすることもできます (ルートで定義しますroutes.rb) が、それは適切なコードとは見なされません。

于 2013-07-23T12:05:39.433 に答える
2

.js.erb拡張子またはのjavascriptファイルがある場合.js.coffee.erb、すべての拡張子が右から左に解析されるため、コードはそのerb内部のいくつかのタグを理解してから部分を解析するcoffeescript必要があると思いますjs

于 2013-07-23T12:03:25.583 に答える