Under Rails 3.1, I'm trying to find out how to move a few coffeescript classes away from my controller default coffeescript file (
What you want to do is export functionality. For instance, if you start with
class Foo ... class Bar extends Foo ...
and you decide you move
Foo to its own file, that file should look like
class Foo ... window.Foo = Foo
window.Foo = Foo makes
Foo a global), and
Bar's file should start with the Sprockets directive
#= require Foo
(assuming that you've named
Foo.js.coffee). Each file is compiled into JS independently, but Sprockets will ensure that
Foo is included before
Note that, as a shortcut, you can get rid of the
window.Foo = Foo line, and instead write
class window.Foo ...
class @Foo ...
to define a class named
Foo that's attached to the