indexiatech / ember-forms

Smart, Intuitive forms for Ember.js styled with Bootstrap, Multi layouts and Validation support.
http://indexiatech.github.io/ember-forms
Apache License 2.0
218 stars 45 forks source link

Uncaught Error: Assertion Failed: You specified the layoutName components/form. #83

Closed koryteg closed 9 years ago

koryteg commented 9 years ago

has anyone seen this error? Uncaught Error: Assertion Failed: You specified the layoutName components/form for <(subclass of Ember.Component):ember836>, but it did not exist.

I get it when adding

{{#em-form}}

to any of my templates.

I am using ember-rails.

my application.js file looks like this: //= require handlebars //= require ember //= require ember-data //= require ember-uploader.min //= require ember-validations //= require dashboard/ember-forms //= require bower_components/ember-simple-auth/simple-auth //= require bower_components/ember-simple-auth/simple-auth-devise //= require_self

koryteg commented 9 years ago

so found out this is because I am using a resolver to point the ember app to a sub-folder.

Resolver: Ember.DefaultResolver.extend({
  resolveTemplate: function(parsedName) {
    parsedName.fullNameWithoutType = "dashboard/" + parsedName.fullNameWithoutType;
    return this._super(parsedName);
  }
})

I hardcoded the template declarations to look like this:

Ember.TEMPLATES['dashboard/components/form'] = FormTemplate;;
Ember.TEMPLATES['dashboard/components/form-group'] = FormGroupTemplate;;
Ember.TEMPLATES['dashboard/components/formgroup/form-group'] = FormGroupPartialTemplate;;
Ember.TEMPLATES['dashboard/components/formgroup/form-group-control'] = FormGroupControlPartialTemplate;;
Ember.TEMPLATES['dashboard/components/formgroup/control-within-label'] = FormGroupControlWithinLabelPartialTemplate;;
Ember.TEMPLATES['dashboard/components/form-label'] = FormLabelTemplate;;
Ember.TEMPLATES['dashboard/components/form-control-help'] = FormControlHelpTemplate;;
Ember.TEMPLATES['dashboard/components/form-submit-button'] = SubmitButtonTemplate;;

I feel like I should be able to do something like this:

Ember.TEMPLATES[ Ember.Resolver +  'components/form'] = FormTemplate;;
asaf commented 9 years ago

yap, If you change the resolution, you need to change all templates of any component, Sounds not the right thing to do to me but I guess you had your reasons,

Closing.

koryteg commented 9 years ago

I have multiple apps in different subfolders so changing the resolution is how you work that out.