我创建了一个日期计数器的方法,并显示该事件的剩余天数。我在表格中有一个days
列,我想要更新它显示在该方法中的剩余日期。
我不确定如何或在何处进行此更改,以便数据将自动更新表格。
我的模型文件中的倒计时方法中的代码是:
def event_days
Integer(self.end_date - closer_to_end_date)
end
def closer_to_end_date
if Date.today >= self.start_date
Date.today
elsif self.start_date >= Date.today
self.start_date
end
end
我甚至尝试用self.days
代替event_days
,但它没有像我想象的那样更新表格中的日期数据。这是我必须在days
迁移文件中进行的更改吗?如果是这样,应该添加什么?
答案 0 :(得分:0)
您需要保存对象(模型的实例)才能更新表中的列,例如:
var axios = require("axios")
var bigtable = []
var somedataURL = "some data URL here"
function buildReq(dataURL){
return axios.get(dataURL)
.then(function(response) {
// response.data is just a simple array
var data = response.data.slice(0);
bigtable = bigtable.concat(data);
return bigtable;
})
}
var req = buildURL(somedataURL);
for(var i = 0; i<10; i++){
req = req.then(function(bigtable){
return buildReq(somedataURL_IdontCARE);
})
}
req.then(function(bigtable){
console.log("final:"+bigtable)
})
module.exports = bigtable
答案 1 :(得分:0)
是的,你不需要功能只是几天是消极或积极的.. 如果elsif语句也不要写这么混乱,因为所有你需要的其他因为elsif是oposite然后是部分。
除了那个没有看到点保存到数据库..u可以进行计算然后你需要显示该数据。
同样好的提示是阅读http://guides.rubyonrails.org/active_record_callbacks.html处的回调函数 就像之前提到的那样,你可以设置属性计算然后模型初始化