Ahmet Emre Kilinc
Ahmet Emre Kilinc

Reputation: 6895

ember Error: Compile Error: is not a helper

I got the following error while developing our front-end with Ember.js:

ember Error: Compile Error: '...' is not a helper

What is the meaning of this error?

Upvotes: 6

Views: 10495

Answers (4)

cincodenada
cincodenada

Reputation: 3087

This error can also happen in older (pre-Octane) versions of Ember if you have your component in all the right places, but your component doesn't have a dash in its name. As per the docs, components are required to have at least one dash in their names:

Components must have at least one dash in their name. So blog-post is an acceptable name, and so is audio-player-controls, but post is not. This prevents clashes with current or future HTML element names, aligns Ember components with the W3C Custom Elements spec, and ensures Ember detects the components automatically.

If you try to create a component without a dash in its name, Ember won't find it and will give you this error.

It appears this requirement has been lifted in more recent versions of Ember, where components start with a capital letter to distinguish them from native HTML elements.

Upvotes: 2

Yakup Ad
Yakup Ad

Reputation: 1651

component and file name must be the same. This solution worked for me.

Upvotes: 0

Ahmet Emre Kilinc
Ahmet Emre Kilinc

Reputation: 6895

Reason

Ember throws this error if there is no component or helper with the given name is not found in your project or your dependent addons.

How to solve

You should check the name of the component or helper that you have written (possible errors are spelling errors or writing directory structure of the component incorrectly).

This twiddle shows example of this error message when the component my-component is called as {{my-component2 x=x}} instead of {{my-component x=x}} mistakenly.

Upvotes: 12

feupeu
feupeu

Reputation: 919

From the documentation:

Helpers allow you to add additional functionality to your templates beyond what is included out-of-the-box in Ember. Helpers are most useful for transforming raw values from models and components into a format more appropriate for your users.

It looks like you are using a non-defined helper. So please look through (and maybe provide) some more of your log output. You are probably using an undefined helper in one (or multiple) of your .hbs-files.

Upvotes: 0

Related Questions