2014-10-19 66 views
0

我是sails.js NodeJs框架中的新成员。其实我正在构建一个简单的注册和登录表单。我想将用户详细信息保存在mysql数据库中。使用sails.js在mysql中存储数据

这里是我的UserController.js文件:

module.exports = { 

'registration': function(req,res){ 

    res.view(); 
}, 

create: function(req,res,next){ 

    user.create(req.params.all(), function userCreated(err,user){ 

     if(err){ 
      return next(err); 
     } 
     else{ 


     } 

    }); 
} 
} 

user.js的型号文件模型:

module.exports = { 

attributes: { 
    name:{ 
    type: 'string', 
    required: true 
}, 

title:{ 

    type: 'string', 

    required: true 
}, 

email:{ 

    type: 'string', 

    email: true, 

    required: true, 

    unique: true 
}, 
encryptedPassword:{ 

    type: 'string', 

    required: true 
} 
} 
}; 
+0

你的问题是什么? – Meeker 2014-10-19 16:31:14

+0

其实我有一个用户控制器和用户模型。我不想使用RESTFULL JSON API。我想从表单中获取所有数据并将它们保存在mysql数据库中。 – 2014-10-19 19:12:12

回答

0

改变你的控制器,以便登记不带引号。还将user.create(req.params.all(), function userCreated(err,user){更改为User.create(req.params.all(), function userCreated(err,user){(例如,将用户的U大写)。

接下来,在名为user的视图下创建一个文件夹。创建一个名为registration.ejs文件,像这样的形式:

<form action='/user/create' method='POST'> 

    <div> 
    <input type="text" placeholder="your name" name="name"> 
    </div> 

    <div> 
    <input type="text" placeholder="your title" name="title"> 
    </div> 

    <div> 
    <input type="text" placeholder="your email address" name="email"> 
    </div> 

    <div> 
    <input type="text" placeholder="password" name="password"> 
    </div> 

    <input type="submit" value="Create Account"/> 

</form> 

新增连接配置

打开/config/connections.js并更改默认设置是这样的:

someMysqlServer: { 
adapter: 'sails-mysql', 
host: 'localhost', 
user: '<put username here>', 
password: '<put password here>', 
database: '<put database here>' 
} 

最后,去至/config/models.js并将其插入此处:

connection: 'someMysqlServer',

下次启动服务器时,数据将被保存在你的mysql数据库中。确保你已经创建了一个与你在连接配置中给出的名字相同的数据库:)

+0

谢谢。请你可以向我展示UserController的代码,了解如何从表单获取详细信息,并将它们保存在我创建的MySql数据库中。我不想使用默认的“电脑磁盘”作为连接 – 2014-10-21 04:56:42