如果模型包含一个称为“创建”和“更新”的字段
当您使用PUT更新此记录的内容时。
应该将
。
发布于 2012-02-26 04:57:15
应该被设置为数据创建或修改的时间吗?因为PUT是幂等的,所以它不应该依赖于先前的值。
我不太明白你在问什么。没有理由将created_at设置为修改时间,因为它们是两个不同的概念。
自更新后总是在发出请求时被修改,所以它违反了幂等原理?
updated_at总是被修改的假设是不正确的(至少在Rails中不存在,也不应该在任何其他地方)。如果多次执行相同的PUT,则不违反幂等性,因为这些后续请求不会修改任何属性,因此updated_at时间不会更改。
有一个有趣的post on the Rails blog about PUT & PATCH,它增加了更多内容。在我看来,用户不应该将请求发送给created_at或updated_at (因为服务器通常应该忽略它们并自行设置它们),但是如果这违背了PUT应该发送整个对象的想法,这是值得怀疑的。但是,如果这个想法被忽略(就像在Rails中一样,也许在其他地方也是如此),那么PUT确实是幂等的。
发布于 2012-02-26 09:35:49
使用put,您不会改变created_at,您可以更改modified_at或其他任何名称。Created_at只在创建时设置。顺便说一下,post和put都可以用来创建和更新值。
https://stackoverflow.com/questions/9450611
复制相似问题