2014-10-19 77 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