希望设置默认用户配置文件数据OnCreateUser



创建新用户时,我想向配置文件添加一些属性。当用户更改设置时,我在应用内使用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)

最新更新