创建新用户时,我想向配置文件添加一些属性。当用户更改设置时,我在应用内使用Collection更新来实现这一点,但似乎无法在新用户注册时为其设置默认值。
下面是我的SERVER代码:
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)
注意:控制台日志返回两个选项。配置文件和用户。配置文件未定义
我还尝试了下面的命令:
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'的未定义"
感谢您的帮助!!
我在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)