我阅读了sails文档,显然我正在做正确的但我一直在未定义。
我的模特:
module.exports = {
schema:true,
conection:'NodeSailsMsSql',
tableName:'contactos',
autoUpdatedAt: false,
autoCreatedAt:false,
attributes: {
nombre:{
type:'string',
required:true
},
telefonocel:{
type:'int'
},
telefonocasa:{
type:'int'
},
telefonotrabajo:{
type:'int'
},
correo:{
type:'string',
email:true
},
idtipocontacto:{
type:'integer',
required:true
}
}
};
我的控制器
agregar: function(req,res,next){
Contactos.create(req.allParams(),function contactosagregados(err, contactos)
{
if(err)return next(err);
res.redirect('contactos/mostrarcontactos/'+contactos.id);
});
},
mostrarcontactos: function(req,res,next){
Contactos.query('select * from contactos where id='+('id'),function
contactosencotrados(err, contactos) {
if(err)return next(err);
if(!contactos) return next();
res.view({
contacto:contactos
});
});
},
查看
<h1><%= contacto.id %></h1>
<hr>
<h3>Correo:<%= contacto.Correo %></h3>
<h3>Nombre: <%= contacto.Nombre %></h3>
如果我调试数据是在contacto上的控制器上,但是在传递给视图时数据会丢失。
答案 0 :(得分:0)
在您的查询中,您似乎要求记录其中id为字面'id'
的记录。我认为你必须要以某种方式从请求中获取id?也许是这样的:
mostrarcontactos: function(req,res,next){
var inputId = req.param('id');
Contactos.query('select * from contactos where id=' + inputId, function contactosencotrados(err, contactos) {
// you should check what your result looks like. With .query that depends on which database you are using
sails.log(contactos);
if(err) {return next(err);}
if(!contactos) {return next();}
res.view({
contacto:contactos
});
});
},
尝试一下,并确保您尝试在视图中访问的属性与检索到的数据contactos
上的属性相匹配。