阅读更多

4顶
0踩

编程语言
支持Rails软件的time-zone插件不只一个,现在Rails自己已经提供方式来解决timezones问题,虽然依然基于tzinfo gem。

下面是具体方法。设置Time.zone的变量为本地timezone,以后所有时间都会自动处理映射为本地时间,并存储为UTC进入数据库。

# Set the local time zone
Time.zone = "Pacific Time (US & Canada)"

# All times will now reflect the local time
article = Article.find(:first)
article.published_at #=> Wed, 30 Jan 2008 2:21:09 PST -08:00

# Setting new times in UTC will also be reflected in local time
article.published_at = Time.utc(2008, 1, 1, 0)
article.published_at  #=> Mon, 31 Dec 2007 16:00:00 PST -08:00


在rails应用中真正使用,可以增加:

class ApplicationController < ActionController::Base

  before_filter :set_timezone

  def set_timezone
    # current_user.time_zone #=> 'London'
    Time.zone = current_user.time_zone
  end
end


这样你的controller actions 和 views 能够应用用户自己的timezone。

当然可以设置缺省的timezone:

Rails::Initializer.run do |config|
  config.time_zone = "Hawaii"
end


获得当前时间是:

# Instead of Time.now
Time.zone.now


Rails2.1中的新东西之六:UTC-based Migration

Rails2.1中的新东西之五:具有has_finder功能的named_scope

Rails2.1中的新东西之四: Partial Updates

Rails2.1中的新东西之三: Dirty Objects

Rails2.1中的新东西之二: Gem Dependencies

Rails2.1中的新东西之一: has-one-through
来自: ryandaigle.com
4
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java技术、Java规范与Java知识产权 (转载)

    转载注: 最近Oracle起诉Google关于Android侵犯专利的事情,中文读者可以参考邵正强(Jason Shao) 2009年的一篇>。 就这个问题解释得很清楚。完全遵守Java规范就可以免费使用;没有完全遵守,只部分使用规范,那JCP组织成员都有

  • will paginate 样式

    还有一个问题也和DreamHost的共享主机机制有关,也就是安装自己的gems比较麻烦,所以目前我采用的都是把需要的gems放到 vender/plugins 目录下的办法,这个只需要使用下面的命令就可以了: cd vendor / plugin gem ...

  • Rest_framework框架的基本组件

    'as the result will be cached and reused between requests. ' 'Use `.all()` or call `.get_queryset()` instead.' ) cls.queryset._fetch_all = force_evaluation view = super(APIView, cls).as_view(**...

  • 解决easyswoole2.X使用mysqliDb 出错的小结

    在使用easyswoole做项目的时候,使用mysqliDb作为数据库操作,一开始我是按照文档的方法安装了mysqliDb,如下图。 但是当我按照文档写的操作一遍后,却出问题了。先附上的php代码: 这是配置数据库的代码:...

  • Rails中多重子表多条件查询

    在项目config/initializers路径下新建一个rb文件,比如paginate_on_array.rb,内容如下: require 'will_paginate/array' 再重试以下发现还是出错,原来需要重启rails服务器,重启之后搜索功能就完成了 ;)

  • 检索数据不能检索了_数据检索和清理:跟踪迁移模式

    可能会有业余爱好者在个人网站,论坛或其他渠道上托管自己的数据,但是业余数据集通常容易出错并且包含丢失的数据。 相反,我们应该寻找在政府或大学网站上托管的更专业的数据集。 Googling the keywords “bird ...

  • rails 运行出错 版本错乱 部分更新

    sprockets-2.2.2, subexec-0.2.2, thor-0.17.0, tilt-1.3.4, treetop-1.4.12, turbo-sprockets-rails3-0.3.2, tzinfo-0.3.36, uglifier-1.3.0, unicorn-4.6.2, warden-1.2.1, will_paginate-3.0.4] (Gem::LoadError...

  • Linux下redmine的部署与搭建

    2 环境的安装及配置 此部分描述了redmine服务器的部署...在配置环境的过程中,最好按照如下的顺序进行,避免由于软件之间的依赖关系而出错。 假设以下的安装程序放在/home/work/tools文件夹下。 2.1 安装apache

  • access aws account and try boto3 总结

    echo %HOMEPATH% cd .aws .aws&gt;dir then you will see config(存放region和output(可以是json)信息) and credencials(存放keys信息) 2 files, check them: .aws&gt;type config .aws&gt;type credentials 和 resource...

  • rails tips

    MRP启动之后,上次介绍了Phase I的完成情况,之后很久都没什么时间去折腾,最多是零零散散的更新几行代码——事实上对于大部分页面来说,也就几行代码就行了——直到开始实现查询部分的功能,这个有点麻烦,这次趁着...

  • Django generics view 以及看源码为什么这么重要

    关于阅读代码 我们知道,得益于python的语言特性,python的源码是直接可以看的到的,而django是一种大而全的东东,虽然django的文档看似全面,但实际上有些模块写的确实不怎么样,...当然我们可以用google或者做git...

  • Python计算机视觉:第九章 图像分割

    区域可以是图像的前景与背景或者单个对象。这些区域可以利用诸如颜色、边线或近邻相似性等特征构建。本章中,我们将看到一些不同的分割技术。 from pygraph.classes.digraph import digraph from ...

  • 诗歌rails之rails tips

    MRP启动之后,上次介绍了Phase I的完成情况,之后很久都没什么时间去折腾,最多是零零散散的更新几行代码——事实上对于大部分页面来说,也就几行代码就行了——直到开始实现查询部分的功能,这个有点麻烦,这次趁着...

  • 【Flask】Flask开发实战:个人博客(二)

    这个分页导航部件应该包含上一页、下一页以及跳转到每一页的按钮,每个按钮都包含指向主页的 URL,而且 URL 中都添加了对应的查询参数 page 的值。使用 paginate 方法时,它会返回一个 Pagination 类对象,这个类...

  • [译]Flask Framework Cookbook-第四章 视图的使用

    这个应用可以是一个新的,空的或者任何复杂的应用。我们需要做的是理解这一小节列出的方法。 怎么做 下面是三种最常用的方法来处理各种各样的请求,用简单的例子说明一下。 # A simple GET request @app....

  • rails2 升级到 rails3 过程详细记录

     gem "will_paginate", "~&gt; 3.0.4" 3.运行rails3工程,查找语法问题 ■Ruby 1.8.7 -&gt; Ruby 1.9.3带来的修改点 1)所有含有英文以外字符的.rb文件,第一行追加 # -*- encoding : utf-8 -*- ...

  • 【二】jekyll 的使用

    :(注意冒号后面至少要空一个空格,不然会出错) 通过这个可以设置一些变量(甚至可以自定义变量),比如title --- layout: post title: Blogging Like a Hacker --- 设置好变量以后,你就可以在...

  • 基于微信小程序的社区门诊管理系统php.zip

    基于Php语言设计并实现了微信小程序的社区门诊管理系统。该小程序基于B/S即所谓浏览器/服务器模式,选择MySQL作为后台数据库去开发并实现一个以微信小程序的社区门诊为核心的系统以及对系统的简易介绍。 用户注册,在用户注册页面通过填写账号、密码、确认密码、姓名、性别、手机、等信息进行注册操作; 用户登录,用户通过登录页面输入账号和密码,并点击登录进行小程序登录操作。 用户登陆微信端后,可以对首页、门诊信息、我的等功能进行详细操作 门诊信息,在门诊信息页面可以查看科室名称、科室类型、医生编号、医生姓名、 职称、坐诊时间、科室图片、点击次数、科室介绍等信息进行预约挂号操作 检查信息,在检查信息页面可以查看检查项目、检查地点、检查时间、检查费用、账号、姓名、医生编号、医生姓名、是否支付、审核回复、审核状态等信息进行支付操作

  • 白色大气风格的设计师作品模板下载.zip

    白色大气风格的设计师作品模板下载.zip

  • 工程经济学自考必备软件下载

    工程经济学自考必备软件下载

Global site tag (gtag.js) - Google Analytics