我今天刚开始开发Grails应用程序,我注意到当我保存对Domain对象的更改时,更改不会立即反映在整个应用程序中。
我有一个简单的Account对象,用于登录应用程序,我有基本的Grails脚手架,提供CRUD功能来更改对象。
登录后,index.gsp显示欢迎信息,其中包含来自用户帐户对象(传记,描述等)的信息 - 但是,如果我更改帐户描述(使用脚手架CRUD)并返回索引,则更改不是反映(虽然如果我查看帐户的默认list.gsp页面,则会反映更改)。
--- --- EDIT
帐户域对象是我们使用o authenticate / login with的对象。 一个exmple index sinppet看起来像这样:
<p class="header">${session.user.login}'s Profile</p>
这只是向用户显示欢迎 - 但是,如果我转到帐户控制器CRUD页面并更改用户名(登录),则它不会反映在索引中(即使在完全刷新浏览器之后)。我注意到,如果我让它过期会话,然后再次重新登录,这一切都很好..我应该通过session.user以外的其他方式获取帐户对象吗?
我错过了一些明显的东西吗?
由于
答案 0 :(得分:0)
嗯,我知道Getting Started with Grails。虽然有一些没有更新的细节,但它对初学者来说非常好。我记得,它的默认主页有关于控制器的信息,但没有任何域对象?
关于您的问题,我认为您应该检查主页/控制器文件的代码。它位于\grails-app\views
和\grails-app\controller
。
答案 1 :(得分:0)
好的,我已经解决了这个问题 - 所以session.user没有更新会话。
我刚刚创建了一个自定义tagLib来获取当前用户并显示相关详细信息,而不是尝试直接从session.user中提取它们。