0

これが私のモデルです。

UserApiSchema.statics.createApi = function(user,fn){
  var instance = new UserApi();
  instance.user = user;
  instance.apiKey = "asdasdacasdasasd";
  console.log("username is " + user.username);
  instance.save(function(err){
    fn(err,instance);
  });
};

UserSchema.statics.newUser = function (email, password,username, fn) {
    var instance = new User();
    var apiInstance = new UserApi();
    instance.email = email;
    instance.password =password;
    instance.username = username;

    instance.save(function (err) {
        fn(err, instance);
    });
};

これは私の controller-users.js です:

app.post( '/signup/', function(req, res) { {console.log(req.body.username); User.newUser(

            req.body.email, req.body.password,req.body.username,
            function (err, user) {
                if ((user)&&(!err)) {
                    console.log(user.username)

                    UserApi.createApi(
                            user,function(err,userapi){
                                if((!err)){
                                    res.send("APi created")
                                }
                                else{
                                    if(err.errors.apiKey){
                                        res.send(err)
                                    }
                                }


                            });
                    req.session.regenerate(function(){
                        req.session.user = user._id;
                        res.send("Success here!"); 

                    });
                } else {
                    if (err.errors.email) {
                          res.send(err) 
                          console.log(req.body.password);
                          console.log(req.body.email);
                          console.log(req.body);
                        }                           
                   if (err.errors.username) {
                      res.send(err) 
                      console.log(req.body.password);
                      console.log(req.body.email);
                      console.log(req.body);
                    }   
                }
            });


    } 
});

概念は、ユーザー名/パスワードが受け入れられると、API キーがユーザー名と共に保存されるというものです。ただし、ユーザー名のペイロードは受け入れられていますが、UserApiSchema 呼び出しを行って API を生成すると、そのような API は生成されません。エラーもありません。

4

1 に答える 1

1

本当に基本的なことかもしれません...しかし、必要なオブジェクトを作成しましたか?

  • UserApiSchema = {};
  • UserApiSchema.statics = {};
  • UserApiSchema.statics.createApi = function(user,fn){ ...}

もしそうなら...それらはモジュールにありますか?それらをモジュールからエクスポートしましたか?

  • exports.userApiSchema = UserApiSchema;

それらを controller-users.js にインポートしましたか?

  • var userApiSchema = require('./UserApiSchema.js');
于 2012-10-26T13:54:35.130 に答える