在这个用户帐户设置页面上 .. 输入一个 github 帐号 ... 更新一下 ... 这里并没有保存刚才我们输入的 github 帐号 ..
这个是因为当前用户还没有一个相关的 profile 数据记录 .. 在 ProfileController 的 update 方法里面 .. 我们用了 user 模型上的 profile 关系,然后使用 update 方法更新了 github 帐号信息 ..
但是如果用户还没有相关的 profile 数据,就不能使用 update 方法更新它 .. 需要使用 create 去创建一个新的 profile ..
我们先在 user 模型上添加一个方法 .. 打开 User 模型 .. 方法的名字是 hasProfile .. 添加一个 profile .. 用一下 this.profile().fetch() ..
然后做一下判断 .. 如果 !profile ... 就让方法 return false .. 如果不是,就 return true ..
回到 Profile 控制器 ..
在它里面,也做一下判断 ... 如果 ! await user.hasProfile() .. 意思就是如果用户还没有相关的档案资料 .. 就用一下 user.profile().create() 去创建一个新的 ...
如果已经有了 .. 就用 user.profile().update ,去更新一下用户的档案数据 ..
试验
再回去试一下 ... 输入一个 github 帐号 ... 更新一下 ... 这次添加的 github 帐号信息会被保存起来 ...