Skip to content

Naming Collision with Rails' application.js #339

@p886

Description

@p886

The issue arises when you run rails generate ember:bootstrap in a rails project. Rails provides the application.js file which the sprockets gem uses as a manifest. The ember-rails gem bootstraps the application with a applications.js.coffee file which gets preprocessed to application.js. Thus we end up with two application.js files. Sprockets will only use one and it seems to choose the one which rails provided. This means the line window.EmberTest = Ember.Application.create() never gets run and window.EmberTest never gets defined and I'm getting the javascript error: Uncaught ReferenceError: AppName is not defined.

The workaround is to rename application.js.coffee to something else. When I renamed it to application_ember.js.coffee everything worked fine.

To see the bug in action I created a rails project in which you can see both the bug and the workaround. I haven't seen any mention of this naming collision so far. Did I do something wrong or is this really a bug?

Some stats:
Rails: v4.0.0
Ember-Rails: v.0.14.1
Ember-Source: v.1.3.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions