草庐IT

day34-JSON

全部标签

ruby-on-rails - 在 Ruby on Rails 中, '#encoding: utf-8' 和 'config.encoding = "utf-8"' 是否不同?

我可以通过在其顶部添加注释行来指定任何ruby​​文件使用特定编码:#encoding:utf-8但是在Rails的config/application.rb中,我发现了这个:config.encoding="utf-8"它们有什么不同吗?如果我设置了config.encoding="utf-8",我还需要#encoding:utf-8吗? 最佳答案 config/application.rb中的config.encoding="utf-8"部分与Rails应如何解释内容有关。ruby文件中的#encoding:utf-8告诉rub

Ruby 基准测试模块 : meanings of "user", "system"和 "real"?

试验Ruby的基准模块...>>Benchmark.bm(7){|b|b.report('Report:'){s='';10000.times{s+='a'}}}usersystemtotalrealReport:0.1500000.0100000.160000(0.156361)“用户”、“系统”、“真实”的含义是什么? 最佳答案 这些时间与Unixtime命令或其他典型基准测试工具报告的时间相同:user:执行用户空间代码(即:您的代码)所花费的时间,system:执行内核代码所花费的时间和真实:执行代码所花费的“真实”时间(即

ruby - 我如何在普通的旧 ruby (非轨道)中使用轨道助手 "distance_of_time_in_words"

Rails有一个助手,它使用distance_of_time_in_words将时间距离转换为单词如果我只是在irb提示符下使用ruby​​来获取此功能,我需要包括什么?我试过require'action_view'但没有用。我也试过require'active_support/core_ext'但这也没有帮助。 最佳答案 这应该有效:需要“action_view”包含ActionView::Helpers::DateHelper由于几个原因,这两项都需要完成。首先,您需要要求该库,以便可以调用它的模块和方法。这就是您需要执行req

ruby-on-rails - 3.days.ago, 2.hours.from_now 等没有 Rails?

有些书提到一些gem可以用#days,#megabytes,#minutes等装饰数字。这只在ActiveSupport中,还是是否有较小的gem提供此功能以用于(小型)非railsgem?我想在一个小小的gem中将此功能用作DSL的一部分。 最佳答案 我不确定除了ActiveSupport之外是否还有其他可用的gem,但是自己制作一个小版本真的很简单:classFixnumSECONDS_IN_DAY=24*60*60defdaysself*SECONDS_IN_DAYenddefagoTime.now-selfendend3.d

ruby-on-rails - 尝试在 Cucumber 功能中使用 "Examples"部分时解析问题

谷歌搜索此错误消息时运气不佳features/manage_hand_evaluator.feature:features/manage_hand_evaluator.feature:21处的解析错误。在期望以下之一时找到示例:评论、py_string、行、场景、场景大纲、步骤、标签。(当前状态:步骤)。(小cucumber::解析器::ParseError)这是示例部分的设置(此时没有其他场景,只有“功能:”部分之后的这个场景)...Scenario:EvaluatingforcurrentstraightsGivenIamaplayerwithWhentheboardisThent

ruby - 为什么 "case"和 "when > 2"不起作用?

为什么这不起作用?caseARGV.lengthwhen0abort"Error1"when>2abort"Error2"end 最佳答案 这不是有效的ruby​​语法。你需要的是casewhenARGV.length==0abort"Error1"whenARGV.length>2abort"Error2"end当您编写casex时,您需要了解的重要部分是ruby​​获取x,然后将比较应用于您在when中插入的参数或表达式>子句。你说whenx>2的那一行读到ruby​​就像:ifARGV.length==>2当您从case语句中

ruby - "find_all"和 "select"是一回事吗?

这两个语句给我相同的结果:[1,2,3,4].find_all{|x|x.even?}[1,2,3,4].select{|x|x.even?}find_all只是一个别名吗?有理由使用一个而不是另一个吗? 最佳答案 #find_all和#select非常相似;差异非常微妙。在大多数情况下,它们是等价的。这取决于实现它的类。Enumerable#find_all和Enumerable#select在同一代码上运行。Array和Range也是如此,因为它们使用Enumerable实现。在Hash的情况下,#select被重新定义为返回一

ruby-on-rails - rails Assets 管道 "Cannot allocate memory - nodejs"

我们刚刚从Rails3.0.7升级到Rails3.2.5,并为暂存服务器即时使用Assets管道编译,但有时我们会遇到这个异常!Showing/var/rails/appname/app/views/common/_my_partial.html.hamlwhereline#raised:Cannotallocatememory-nodejs/tmp/execjs20120613-17090-thoc8f.js2>&1Extractedsource(aroundline#):Traceoftemplateinclusion:app/views/layouts/application.h

ruby - 导轨 4 : Append to a "has_many" relation without saving to DB

在Rails3中,可以做类似some_post.comments.append(some_comment)的事情其中一些帖子是“有很多”评论的模型实例。我在Rails4中面临的问题是append方法现在保存到数据库(如push和),我只需要“附加”而不将附加的对象保存到数据库。我们如何在Rails4中实现这一点?我不能使用some_post.comments.build(some_comment.attributes)因为我需要保留some_comment中已经存在的其他关系实例。 最佳答案 在Rails中优雅地做到这一点非常困难。

ruby - 在 Sinatra 中,你如何制作一个 "before"过滤器来匹配除某些路由之外的所有路由

我有一个RubySinatra应用程序,我有一些代码需要在除少数异常(exception)情况外的所有路由上执行。我该怎么做?如果我想在选定的路由(白名单样式)上执行代码,我会这样做:['/join',"/join/*","/payment/*"].eachdo|path|beforepathdo#somecodeendend我该如何反其道而行之(黑名单样式)?我想匹配除'/join'、'/join/*'和'/payment/*'之外的所有路由 最佳答案 负面前瞻:before/^(?!\/(join|payment))/do#..