创建新用户时,我想在个人资料中添加一些属性。我在用户更改设置时使用收藏更新在应用内进行此操作,但似乎无法在新用户注册时设置默认值。
这是我的服务器代码:
userDefaults = (options, user) ->
user.zipCode = 94582
user.temperature = "Farenheit"
user.city = "San Ramon"
user.timeZone = "America/Los_Angeles"
# Include the default profile info.
user.profile = options.profile if options.profile
console.log "added default #{options.profile} for #{user.profile}."
user
Accounts.onCreateUser(userDefaults)
注意:控制台日志将options.profile和user.profile都返回为undefined。
我也试过以下内容:
userDefaults = (options, user) ->
user.profile = options.profile if options.profile
user.profile.zipCode = 94582
user.profile.temperature = "Farenheit"
user.profile.city = "San Ramon"
user.profile.timeZone = "America/Los_Angeles"
console.log "added default #{options.profile} for #{user.profile}."
user
Accounts.onCreateUser(userDefaults)
由于个人资料未定义,我收到此错误:"异常调用方法' createUser' TypeError:无法设置属性' zipCode'未定义"
感谢您的帮助!!
答案 0 :(得分:1)
我在SE上找到了这个答案:Can't add user attribute using Accounts.onCreateUser
它点燃了道路。这是我最后的工作咖啡代码(服务器):Accounts.onCreateUser( (options, user) ->
options.profile = {} unless options.profile
options.profile.zipCode = 94582
options.profile.temperature = "Farenheit"
options.profile.city = "San Ramon"
options.profile.timeZone = "America/Los_Angeles"
user.profile = options.profile if options.profile
user)