これはRailsの質問であり、良い質問だと思います。
「グローバル」なものが入る Rails の通常のパラダイムはapplication.*
、application.js が実際には共通ファイルではなくマニフェストとして機能するため、アセット パイプラインで少し混乱しています。もちろん、そこに何かを追加application.js.coffee
したり、共通コード用に を作成したりすることもできます。common.js.coffee
(別のケースでは )というファイルを作成することにしました。この場合、このファイルはディレクティブshared.js.coffee
によって自動的に処理されます。require_tree .
(@jonathan-tran からのコメントに基づいて更新) 場合によっては、すべてのページでドキュメントに対して呼び出されるメソッドが必要な場合があります。たとえば、これを使用して、任意のビューの任意のフィールドで日付ピッカーを使用できるようにしました。代わりにメソッド (実際にはグローバル関数) を呼び出し可能にしたい場合は、window
オブジェクトにアタッチするなどして、coffeescript 関数を変数にエクスポートする必要があります。共有ファイルで両方を実行できます。
ジェネレーターを使用すると、すべてのコントローラーのファイルが作成されることは事実です。特殊なコードがなければ、$(document).ready ->
アセットがコンパイルされるときに一連の冗長なステートメントが発生します。なので、使わないものは捨てましょう。しかし、ページに固有の機能を分離するパターンに従うことは、私にとっては理にかなっており、うまく機能します。何かを見つけるためにどこを探すべきかを知っており、プロジェクトが成長するにつれて、それは非常に価値があります.
そして、私が Rails で学んだもう 1 つのルールは、流れに従うことです。それがRailsのやり方なら、それはおそらく良い方法です。彼らは確かにこれらのことについて考えています。機能するものを修正しないでください:-)