ruby-on-rails – 在RoR应用程序中不更新时间戳
发布时间:2020-12-17 03:58:54 所属栏目:百科 来源:网络整理
导读:我有一个小网站,按提交日期对新闻主题进行排序.在本地,这很好.即使在连续快速发布故事时,时间戳也会有所不同. 例: Submitted Fri Mar 25 14:31:09 2011Submitted Fri Mar 25 14:30:45 2011Submitted Fri Mar 25 14:30:23 2011 但是,一旦将代码推送到heroku
我有一个小网站,按提交日期对新闻主题进行排序.在本地,这很好.即使在连续快速发布故事时,时间戳也会有所不同.
例: Submitted Fri Mar 25 14:31:09 2011 Submitted Fri Mar 25 14:30:45 2011 Submitted Fri Mar 25 14:30:23 2011 但是,一旦将代码推送到heroku并且使用MongoHQ设置数据库,则秒值似乎被忽略或冻结. 示例文档DateTime值: added_on 03/14/2011 09:58 AM 示例时间戳: Submitted Thu Mar 24 13:48:40 2011 Submitted Thu Mar 24 13:48:40 2011 Submitted Thu Mar 24 13:48:40 2011 Submitted Thu Mar 24 13:48:40 2011 看来秒值没有更新? 这是型号代码, class Post include Mongoid::Document field :link field :title field :synopsis field :added_on,:type => DateTime,:default => DateTime.now field :poster field :category validates_presence_of :link validates_presence_of :title validates_presence_of :synopsis validates_presence_of :category validates_uniqueness_of :link validates_uniqueness_of :title embeds_many :replies #referenced_in :topic end 解决方法
我的猜测是你需要将默认值更改为Proc.
在开发模式下,每个请求都会重新加载模型,因此DateTime.now始终是最新的.但是,在生产中,类仅在应用程序启动期间加载一次(每个dyno),而DateTime.now会产生静态值. field :added_on,:default => Proc.new { DateTime.now } 应该是你想要的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |