我是服务人员的新手,正在使用Workbox预先缓存我的应用程序外壳并缓存我的api数据。
资产的预缓存工作正常,正在创建和填充缓存。
在第二次重新加载页面之前,运行时缓存不会创建并填充缓存。
我认为这可能是时间问题,因此我在javascript中设置了数据的页面重新加载,但是这仍然没有缓存调用。
我没有做任何特定于创建缓存的操作,应用程序代码为:
...
app.getData = function() {
var requestHeaders = new Headers({
Accept: "application/json"
});
fetch(app.dataUrl, { headers: requestHeaders })
.then(function(response) {
return response.json();
})
.then(function(json) {
app.updateCards(json);
})
.catch(function(error) {
console.log('There has been a problem with your fetch operation: ' + error.message);
});
}
...
if ('serviceWorker' in navigator) {
navigator.serviceWorker
.register('/my_sw.js')
.then(function() {
console.log('Service Worker Registered');
});
}
app.getData(); # fetch api data
Run Code Online (Sandbox Code Playgroud)
然后在服务人员中:
...
const workboxSW = new self.WorkboxSW({clientsClaim: true});
// register data url …Run Code Online (Sandbox Code Playgroud) 我在postgres中有一个带有date_of_birth的表,并希望使用Postgres年龄函数来返回年龄,而不是计算Rails中的年龄(这是一个简单的例子,我想在postgres中做更复杂的计算).
什么是使用我的记录的其余部分从postgres恢复年龄的最佳方式,理想情况下作为标准而不必修改每个选择?
编辑:
我决定使用视图,因为:
Postgres 9.3
我有两个整数类型列“a”和“b”。有效选项有:
我正在尝试添加一个检查/约束来防止无效选项:
我将不胜感激任何帮助。
预先感谢丹