-1

私は、ember-validations と EmberFire を使用してサインアップ フォームを作成しています。サーバーは正常に起動しますが、コンソールに次のエラーが表示されます。

Uncaught Error: Could not find module `app/mixins/validations/signup` imported from `processapp/controllers/signup`

サインアップ検証 mixin のコードは次のとおりです。

import Ember from 'ember';
import EmberValidations from 'ember-validations';

export default Ember.Mixin.create(EmberValidations, {
  validations: {
    "model.firstName": {
      presence: true
    },
    "model.lastName": {
      presence: true
    },
    "model.email": {
        format: { with: /^.+@.+\..+$/, message: 'Please enter a valid email address.' }
    },
    "model.password": {
        length: {minimum: 6, maximum: 30},
        presence: true,
        confirmation: true
    }
  },
});

私のサインアップコントローラーのコードは次のとおりです。

import Ember from 'ember';
import SignupValidations from 'app/mixins/validations/signup';

export default Ember.Controller.extend(SignupValidations, {
actions: {
    createUser(){
      //...
      this.validate().then(()=>{
        var newUser = this.store.createRecord('user', {
            firstName: this.get('firstName'),
            lastName: this.get('lastName'),
            email: this.get('email'),
            password: this.get('password')
        });
        newUser.save().then(()=>{
          this.transitionToRoute('user', newUser);
        });
      }).catch(()=>{
        console.log(this.get("errors"));
      });
    }
  }
});

ファイル構造は、コントローラーの import SignupValidations 行に含まれる構造と一致しているように見えるため、このエラーが発生する理由について少し混乱しています。何か案は?

4

1 に答える 1

1

私は答えを見つけました。app をファイル構造の最上位として使用するのではなく、1 つ上のフォルダーに移動し、processapp をファイル構造の最上位として使用する必要がありました。

それ以外のapp/mixins/validations/signup

それはしなければならなかったprocessapp/mixins/validations/signup

于 2016-06-27T13:49:30.623 に答える