为什么我在重定向用户时收到错误 "me is not defined"?
Why am I getting the error "me is not defined" when redirecting the user?
当用户登录并使用退出 viewTemplatePath
发送到页面时,我收到错误 me is not defined
。
错误发生在 header.ejs 模板 <% if(me) { %>
中,它是 Sails V1.0 的样板文件。
me
是在使用重定向类型时定义的:
exits: {
success: {
responseType: 'redirect',
redirect: '/pages/user-profile',
description: 'User successfully logged in.'
},
}
me
定义模板渲染时未定义:
exits: {
success: {
viewTemplatePath: 'pages/user/profile'
description: 'User successfully logged in.'
},
}
Sails v1.0 样板文件
这个问题有几个解决方案,none 令人满意,因为这个问题 "seemingly" 的一致性很差。有时 viewTemplatePath
将 this.req.me
作为 me
传递给模板,有时则不会。
方案一:将用户数据传递到模板路径
return exits.success({me: this.req.me});
方案二:使用重定向方式
解决方案 3: 在退出到 viewTemplatePath
之前检查用户并将我作为任何值类型传递以不公开用户数据。
fn: async function (inputs, exits) {
if(!this.req.me) throw {redirect:'/'};
return exits.success({me: true});
}
当用户登录并使用退出 viewTemplatePath
发送到页面时,我收到错误 me is not defined
。
错误发生在 header.ejs 模板 <% if(me) { %>
中,它是 Sails V1.0 的样板文件。
me
是在使用重定向类型时定义的:
exits: {
success: {
responseType: 'redirect',
redirect: '/pages/user-profile',
description: 'User successfully logged in.'
},
}
me
定义模板渲染时未定义:
exits: {
success: {
viewTemplatePath: 'pages/user/profile'
description: 'User successfully logged in.'
},
}
Sails v1.0 样板文件
这个问题有几个解决方案,none 令人满意,因为这个问题 "seemingly" 的一致性很差。有时 viewTemplatePath
将 this.req.me
作为 me
传递给模板,有时则不会。
方案一:将用户数据传递到模板路径
return exits.success({me: this.req.me});
方案二:使用重定向方式
解决方案 3: 在退出到 viewTemplatePath
之前检查用户并将我作为任何值类型传递以不公开用户数据。
fn: async function (inputs, exits) {
if(!this.req.me) throw {redirect:'/'};
return exits.success({me: true});
}