草庐IT

column-string-date

全部标签

ruby 使用 array.map(& :methodname) for hash key strings rather than methodname 中的 "&:methodname"快捷方式

大多数ruby​​开发人员都知道如何通过执行以下操作来节省几次击键:array.map(&:methodname)而不是array.map{|x|x.methodname}有什么方法可以应用类似的&:methodname快捷方式来调用哈希数组上的“方法”(通过键调用的值)?在我的例子中,它的JSONapi结果以60个批处理作为源自JSON的散列数组返回。我试着这样做:array.map(&:"keyname")但没有成功,抛出一个NoMethodError并说Hash没有'keyname'方法,我想这是合理的。我想知道是否有一些Elixir可以模拟这个&:...ruby专家已经制定出的

ruby-on-rails - 脚手架 ActiveRecord : two columns of the same data type

另一个基本的Rails问题:我有一个数据库表,需要包含对特定数据类型的两个不同记录的引用。假设示例:我正在制作视频游戏数据库。我有一张“公司”表。我想为每个“视频游戏”条目指定一个开发者和一个发布者。我知道如果我想拥有一家公司,我可以这样做:script/generateVideogamecompany:references但我需要同时拥有这两家公司。我宁愿不使用连接表,因为给定的数据类型只能有两个,我需要它们是不同的。看起来答案应该很明显了,但是我在网上到处都找不到。 最佳答案 只是为了稍微整理一下,在您的迁移中,您现在还可以:c

ruby - 为什么 Ruby String.hash 跨机器不一致?

今天在我们跨多台服务器部署的应用程序上遇到了这个问题。我正在散列一些字符串以存储在共享键/值存储中。String的.hash方法根据服务器返回不同的整数。任何想法为什么?请注意,我对为什么感兴趣;无法解决。例子:server1$ruby-vruby1.9.2p180(2011-02-18revision30909)[x86_64-linux]server1$irbirb(main):001:0>"test".hash=>4146582576695053125server2$ruby-vruby1.9.2p180(2011-02-18revision30909)[x86_64-linux

ruby-on-rails - 如何从 Rails 中的 date_select 或 select_date 获取日期?

使用select_date返回一个params[:my_date]和year,month和day属性。如何轻松获取Date对象?我希望得到像params[:my_date].to_date这样的东西。我也很乐意使用date_select。 最佳答案 使用date_select分别为日、月和年提供3个独立的键/值对。因此,您可以将它们作为参数传递到Date.new中以创建新的Date对象。Event模型的date_select返回参数示例:"event"=>{"name"=>"Birthday","date(1i)"=>"2012",

ruby - Consistent String#hash 仅基于字符串的内容

目标:将服务器处理的每个URL映射到0、1、2或3,尽可能均匀分布。虽然documentation因为ruby​​的String#hash方法说它将“根据字符串的长度和内容返回一个散列”,这显然不是全部。给定字符串的哈希在解释器的调用中不一致:$irbruby-1.9.2-p180:001>"foo".hash=>360517580588231756ruby-1.9.2-p180:002>^D$irbruby-1.9.2-p180:001>"foo".hash=>-2716152678666510148这意味着特定字符串的散列值可能会因服务器而异。Rails在内部使用String#ha

ruby - 数组类型错误 : can't convert Fixnum into String

我正在尝试使用数组,并且正在阅读SteveHolzner所著的“BeginningRubyonRails”一书。我制作了程序:array=['Hello','there',1,2]putsarray[1]putsarray[3]putsarray.lengtharray2=Array.newputsarray2.lengtharray2[0]="Banana"array2[1]=6putsarray2[0]+""+array2[1]putsarray3.length它并没有做太多,但是当我运行它时我得到了错误arrays.rb:9:in`+':can'tconvertFixnumint

ruby-on-rails - 如何在 Ruby 中创建一个新的 Date 实例

如何在给定日期的IRB中创建一个新的日期对象。以下无效。1.9.3p194:053>require'active_support'=>true1.9.3p194:054>Date.new=>#1.9.3p194:055>Date.parse('12/01/2012')NoMethodError:undefinedmethod`parse'forDate:Classfrom(irb):551.9.3p194:055>Date.new('12/01/2012')ArgumentError:wrongnumberofarguments(1for0) 最佳答案

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 - Time.zone.now.to_date 是否等同于 Date.today?

Time.zone.now.to_date是否等同于Date.today?另一种表达方式:Time.zone.now.to_date==Date.today是否始终为true?如果不是,在应用程序时区中获取对应于“现在”的日期对象的最佳方法是什么? 最佳答案 它们并不总是相同的。Time.zone.now.to_date将使用应用程序时区,而Date.today将使用服务器时区。因此,如果两者位于不同的日期,那么它们就会不同。来self的控制台的示例:ruby-1.9.2-p290:036>Time.zone="Sydney"=>"

ruby-on-rails - 为什么 Date.today - 6.months + 6.months != Date.today?

在Ruby中,万圣节:Date.today-6.months+6.months!=Date.today我们需要更新Ruby的日期实现吗?其他语言有同样的问题吗? 最佳答案 如果您对没有31天的任何月份执行此操作,就会发生这种情况(即3个月就可以,但1个月、6个月或8个月都会发生这种情况)。如果您执行Date.today-1.month,看起来Rails认为9/31/2011不是有效日期,因此它会多踢一天使其生效一个有效的日期。但是,当您从9月底向前移动一个月时,它将保留在2011年10月30日,因为这是一个有效日期。基本上,Rail