草庐IT

first_time_wind

全部标签

ruby-on-rails - 带方向的 Rails distance_of_time_in_words

是否有类似于distance_of_time_in_words的Rails助手或ruby​​gem考虑了方向(future/过去)?它是这样工作的distance_of_time_in_words_to_now30.days.ago#"about1month"distance_of_time_in_words_to_now30.days.from_now#"about1month"但我想找到更像这样的东西:distance_of_time_in_words_to_now30.days.ago#"about1monthago"distance_of_time_in_words_to_no

ruby 哈希 : return the first key value under which is not nil

假设我有一个散列hash={a:1,b:false,c:nil}&某处的一系列键:[:c,:b,:a]。在!=nil下返回这样的键值是否有Ruby惯用语?目标[:c,:b,:a].select{|key|hash[key]!=nil}.first#returns:b似乎太长了。 最佳答案 我认为Enumerable#find可能有效:find(ifnone=nil){|obj|block}→objornilfind(ifnone=nil)→an_enumeratorPasseseachentryinenumtoblock.Retur

ruby - 获取由 Time 对象组成的 ruby​​ 范围内的元素数

我如何才能获得由Time对象组成的范围的大小或数量?可以实现与我的伪Ruby代码相同的结果,但它不起作用:((Time.now.end_of_day-31.days)..(Time.now.end_of_day-1.day)).size==30当前执行上述操作会出错:NoMethodError:undefinedmethod`size'for2012-05-1823:59:59-0400..2012-06-1723:59:59-0400:Range并尝试将其转换为数组(range).to_a:can'titeratefromTime更新有趣,刚刚尝试过((Date.today.end_

ruby-on-rails - 收到失败/错误 : expected: 1 time with any arguement,:任何参数 0 次

我有一个下面的规范,我在其中模拟我的用户模型并stub它的方法。require'spec_helper'describeUserdolet(:username){"test@test.com"}let(:password){"123"}let(:code){"0"}context"whensigningin"dolet(:expected_results){{token:"123"}.to_json}it"shouldsignin"doexpect(User).toreceive(:login).with({email:username,password:password,code:c

ruby - "n.times do" block 只返回 n 的值

根据thisquestion的答案判断,我预计@n.timesdo"hello"end返回与@n值相等的“hello”数量。但是,无论我如何修改代码,我的Rails控制台都只返回@n的值,仅此而已。我做错了什么?例如,如果我先设置@n=10,那么代码的结果就是10。 最佳答案 不,我看不出您是如何从这些答案中推断出.timesblock应该返回任何内容的。它所做的就是运行指定block指定次数,仅此而已。block的返回值被丢弃。如果您想将“hello”打印到标准输出N次或做一些其他工作,就可以。n.timesdoputs'hell

ruby-on-rails - Time 和 DateTime 之间的 Rails 时区差异

我已经设置了时区。config.time_zone='MountainTime(US&Canada)'正在从控制台创建圣诞节事件...c=Event.new(:title=>"Christmas")使用时间:c.start=Time.new(2012,12,25)=>2012-12-2500:00:00-0700#hascorrectoffsetc.end=Time.new(2012,12,25).end_of_day=>2012-12-2523:59:59-0700#samedeal使用日期时间:c.start=DateTime.new(2012,12,25)=>Tue,25Dec2

ruby - 使用 start_time 和 end_time 的 ice_cube gem 单次事件

这里一定有一些简单的东西被忽略了......我一直在尝试各种方法来创建基本的IceCube计划(https://github.com/seejohnrun/ice_cube)。总体目标是使用IceCube允许“房间预订”rails应用程序中的“价格表”。第一种情况是创建一个具有特定start_time和end_time的基本计划-只发生一次。IceCube可以做到这一点,对吗?计划将从start_time开始,在end_time结束。我希望能够检查日期或时间是否occurs_on?此时间表以确定是否应调整房价。因此,在控制台中,我尝试创建一个基本时间表,并希望它从现在开始5.days发

ruby - 如何区分由 first_or_create 搜索或创建的

我想区分由first_or_create搜索或创建。record=MasterRecord.where(:name=>'test_data').firest_or_create#andiwantdifferentiatesearchedorcreatedlikethis.#butthereisnocreated_record?methodifrecord.created_record?render:status=>200,:json=>record.to_jsonelserender:status=>409,:json=>record.to_jsonend我该怎么做?

ruby-on-rails - 在 9 :00 AM in their Local Time Zone 向用户发送时事通讯

我正在使用以下gem:时区tzinfo我正在尝试在用户的时区发送时事通讯,以便他们在9:00:00收到时事通讯;不是我的服务器所在的PST09:00:00。我按名称存储时区,例如“太平洋时间(美国和加拿大)”。每个用户都有一列user.time_zone,其中存储了他们的特定时区。我构建了一个作业,它每小时检查一次可以接收时事通讯的用户(即本地时间为9的用户)上午00点)。classNewsletterTimezoneJob我在user上构建了一个方法,尝试查看用户的本地时间是否与newsletter_sendtime匹配。我添加了一个+/-5分钟的窗口来解决服务器速度慢的问题。用户.

ruby-on-rails - 在 ActiveRecord 中使用 first_or_create 的两种不同方式的区别

我是ActiveRecord的新手,所以这可能是一个愚蠢的问题:我的方法是这样写的:sample_organizations=['37Signals','FogCreek']sample_organizations.each{|item|Organization.first_or_create(name:item,time_zone:'Central')}它没有用,我希望它能遍历我的组织数组并将它们全部插入到数据库中,但它只插入了第一行。然后有人建议像这样更改它并且这个方法有效,但我想知道是否有人可以解释第一种方法中的错误,以便我可以了解我在做什么/假设错误。所以这个有效:sample