草庐IT

TYPE_CLASS_DATETIME

全部标签

ruby-on-rails - 如何从现有的 Time.zone for Rails 创建 Ruby DateTime?

我有用户在RubyonRails网站中输入日期。我将日期解析为DateTime对象,内容如下:date=DateTime.new(params[:year].to_i,params[:month].to_i,params[:day].to_i,params[:hour].to_i,params[:minute].to_i)或date=DateTime.parse(params[:date])两个DateTime都将不在我之前设置的用户时区中,例如:Time.zone="PacificTime(US&Canada)"如何将上述DateTime解析为正确的时区?我知道DateTime.ne

ruby - Ruby 中 DateTime 的毫秒分辨率

我有一个类似2012-01-01T01:02:03.456的字符串,我使用ActiveRecord将其存储在Postgres数据库TIMESTAMP中。不幸的是,Ruby似乎切断了毫秒数:ruby-1.9.3-rc1:078>'2012-12-31T01:01:01.232323+3'.to_datetime=>Mon,31Dec201201:01:01+0300Postgrs支持微秒分辨率。如何相应地保存我的时间戳?我至少需要毫秒分辨率。(PS是的,我可以破解postgres中的毫秒整数列;这违背了ActiveRecord的全部目的。)更新:非常有帮助的回复表明Ruby的DateTi

ruby - 如何从 DateTime 值中删除区域?

我有这个日期时间:=>Fri,03Feb201211:52:42-0500如何删除ruby​​中的区域(-0500)?我只想要这样的东西:=>Fri,03Feb201211:52:42 最佳答案 时间总有一个区(没有区就没有意义)。您可以使用DateTime#strftime在打印时选择忽略它:now=DateTime.nowputsnow#=>2012-02-03T10:01:24-07:00putsnow.strftime('%a,%d%b%Y%H:%M:%S')#=>Fri,03Feb201210:01:24参见Time#st

Ruby 的 def 和 instance_eval 与 class_eval

我正在阅读ProgrammingRuby1.9的元编程部分,但我无法理解class_eval之间内部发生了什么|/class_exec与instance_eval/instance_exec.首先,我的理解是def在self的方法表中添加一个方法(类对象):classAputsself#=>Adeffoo;42;end#addedtothemethodtableofself,sobecomesaninstancemethodendA.new.foo#=>42如果我们使用class_eval,我们得到相同的行为:A.class_evaldoputsself#=>Adefbar;42;en

ruby - 了解 ruby​​ .class 和 .ancestors 方法

我有一个定义如下的类classOrderendputsOrder.class#->ClassputsOrder.ancestors#->[Order,Object,Kernel,BasicObject]putsOrder.class.ancestors#->[Class,Module,Object,Kernel,BasicObject]我的问题是为什么Order.ancestors在祖先链中不显示“类”或“模块”?既然Order是类Class的一个对象,Order不应该显示Class的所有祖先吗? 最佳答案 为此,您需要了解Ruby

ruby - 有人可以解释 Class.superclass.class.superclass 悖论吗?

这可能根本不是悖论,但从新手的角度来看,确实如此。>Class.superclass=>Module>Class.superclass.class=>Class>Class.superclass.class.superclass=>Module所以一个类的父类是模块,但模块是一个类?我怎样才能理解这一点? 最佳答案 TL;DR:模块是类的父类(superclass)。模块是类的一个实例。让我试着更清楚地解释一下。请原谅我手写的图——我没有什么花哨的绘图软件。Ruby中的每个类都有1个父类(superclass)*。*BasicObj

ruby - Ruby 1.9 中的 ARGF.class 是什么?

在Ruby1.8.7中,thedocumentation不在类和模块下列出ARGF,并且ARGF不是类或模块:ARGF.class#=>Object在Ruby1.9.3中,thedocumentation在类和模块下有ARGF,但我看到了这个:ARGF.class#=>ARGF.classARGF.superclass#=>NoMethodError:undefinedmethod`superclass'forARGF:ARGF.classARGF.class.superclass#=>Object为什么Ruby1.9文档将ARGF放置为类,而实际类是其他东西?或者它们是同一回事?AR

ruby - 如何调用父类(super class)方法

我有两个类A和B。B类重写A类的foo方法。B类有一个bar方法,我想在其中调用父类(superclass)的foo方法。这种调用的语法是什么?classAdeffoo"hello"endendclassB对于类方法,我可以通过在类名前显式添加前缀来调用继承链中的方法。我想知道实例方法是否有类似的习语。classPdefself.x"x"endendclassQ编辑我的用例很一般。对于特定情况,我知道我可以使用alias技术。这是Java或C++中的常见功能,所以我很想知道是否可以在不添加额外代码的情况下执行此操作。 最佳答案 在R

ruby-on-rails - Rails 迁移 : tried to change the type of column from string to integer

我使用railsgeneratemigrations命令在我的rails应用程序中创建了一个表。这是迁移文件:classCreateListings然后我想将纬度和经度存储为整数我试着跑:railsgeneratemigrationchangeColumnType该文件的内容是:classChangeColumnType我原以为列类型会发生变化,但是rake被中止并出现了以下错误消息。我想知道为什么这没有通过?我在我的应用程序中使用postgresql。rakedb:migrate==ChangeColumnType:migrating=========================

ruby-on-rails - DateTime.now 还是 Time.now?

我应该在我的Rails应用程序中使用两者中的哪一个:DateTime.noworTime.now在应用程序中同时使用两者有什么坏处吗?在上述(now)示例中,两者之间是否存在任何差异?(在我当前的系统上,它们同时显示) 最佳答案 使用(Date)Time.current而不是(Date)Time.nowRails扩展了Time和DateTime对象,并包含current属性,用于检索Rails环境设置的时间(默认=UTC),而不是服务器时间(可以是任何东西)。这很关键-您应该始终以UTC时间工作,除非在时区之间转换以供用户输入或显示