草庐IT

ruby-on-rails - Ruby:如何从包含模块的类中访问常量

我正在尝试访问一个包含在模块中的各个类中的常量。作为一个基本的例子modulefoodefdo_something_to_constCONSTANT.each{...do_something...}endendclassbarincludefooCONSTANT=%w(Iwanttobeabletoaccessthisinfoo)endclassbazincludefooCONSTANT=%w(Adifferentconstanttoaccess)end由于模块的逻辑在多个类之间共享,我希望能够只引用常量(每个类的名称保持相同,但内容不同)。我将如何解决这个问题?

ruby - 从我的 Ubuntu .profile 采购 rvm 只能手动工作,不能在登录时工作

我在从我的Ubuntu10.04.profile获取Ruby版本管理器rvm时遇到问题。代码:[[-s"$HOME/.rvm/scripts/rvm"]&&."$HOME/.rvm/scripts/rvm"...从不做我期望的事情(即当我打开一个新的shell或开始一个新的session时给我rvm程序);但是如果我执行source.profile登录后在一个新的shell中,它可以工作!为什么当我手动获取它时它会工作,但在登录时不会自动? 最佳答案 看来Ubuntu处理其登录脚本的方式与大多数其他Linux发行版不同http://

ruby-on-rails - 从 Rails 3 中的默认 ActionController LogSubscriber 修改日志格式和内容

上下文:在一个Rails3项目中,我想自定义(大量)来自ActionController的“Processing”和“Completedin”日志行的格式和内容。这是为了让它们与旧版Rails2.3应用程序的(也是自定义的)格式相匹配,从而允许重复使用各种分析工具。使它们成为固定字段(通过在必要时使用占位符)还可以更容易地使用(比如)awk对它们进行临时查询,或者将它们加载到数据库或splunk中而无需智能解析。我通过forkrails和patching快速而严厉地实现了这个目标有问题的LogSubscriber,但我现在希望以正确的方式做到这一点。这是我认为我想做的事情:创建一个Lo

ruby - 从 Ruby 中的字符串解析十进制值

我有一个包含十进制数字的Ruby字符串。将其转换为小数(定点)的最佳方法是什么?“最佳”是指:可靠,提供多种输入选项写起来简单易于阅读干...大致按照这个顺序。 最佳答案 (经过一番挖掘,我自己找到了它)BigDecimal是标准的Ruby定点类型,它的构造函数接受一个String并为您处理解析:BigDecimal.new("123.45") 关于ruby-从Ruby中的字符串解析十进制值,我们在StackOverflow上找到一个类似的问题: https:

ruby-on-rails - 从 Controller Action 中调用/lib 中的类

嗨,我对此有点困惑。我要解决的是我在lib/目录中有一个名为ticket_pdf.rb的文件,我计划为我的应用程序生成一些发票PDF。我想调用此类的一个函数来从我的Controller操作中生成PDF。ticket_pdf.rb看起来像这样classTicketPDFdefgenerate_pdf(purchase)puts"TicketID=#{purchase.ID}"endend在Controller中我执行此操作。classCustomer::MyController当我尝试创建一个像这样的对象时,它给我一个像这样的500错误。uninitializedconstantCust

arrays - 从每个数组中删除是否安全?

是否可以在通过each遍历Array时安全地删除元素?第一个测试看起来很有希望:a=(1..4).to_aa.each{|i|a.delete(i)ifi==2}#=>[1,3,4]但是,我找不到确凿的事实:是否安全(设计)从哪个Ruby版本开始它是安全的在过去的某些时候,它似乎是notpossibletodo:It'snotworkingbecauseRubyexitsthe.eachloopwhenattemptingtodeletesomething.documentation没有说明迭代期间的可删除性。我不是在寻找reject或delete_if。我想对数组的元素做一些事情,有

ruby-on-rails - 无法从类内部访问私有(private)方法?

为什么我无法从类封装的方法中访问下面代码中的私有(private)方法check_url?classLink{:in=>[true,false]}validates:url,:presence=>true#===============================================================#=classmethods(accessiblefromoutsidewithoutaninstance)=#===============================================================classurl,:i

ruby - 从 Gemfile 中找出哪些 gems 需要 native c 扩展?

我最近才开始将注意力转移到在TorqueBox上部署Ruby应用程序,这当然是在Jruby上构建的。到目前为止,我基本上一直在执行bundleinstall,然后在通往jrubydom的过程中处理每个gem,但我遇到了几个gem,由于需要重新实现大型他们的一部分。有没有一种方法可以调用bundler或ruby​​gems来遍历所有gem及其deps以测试它们是否需要nativec扩展,然后返回这样一个列表?处理一些更小的项目,或者甚至知道是否值得处理一个项目,将它转移到jruby肯定会很好。 最佳答案 基于具有原生扩展的gems通常

Ruby:如何从日期时间字符串中提取一个小时(或一天)

我正在从一个大型CSV文件中提取日期时间字符串,如下所示:"11/19/200821:56"我只想提取小时,这样我就可以构建所有小时的直方图以找到最频繁的小时。同样,我想从日期中提取星期几(名称)并构建最频繁日期的直方图。我是Ruby的新手,查了资料,初学者尝试了以下各种形式,但没有运气:require'date'putsDateTime.strptime("11/19/200821:56",'%I')您能否建议一种简单(清晰)的方法来完成上述任务?此外,任何关于如何表示结果的建议都会很棒。我在想一个小时的哈希数组(24个条目)和一个天的哈希数组(7个条目)?当我遍历日期时间字符串时加

ruby - 从 Mechanize 中删除以前存储的 cookie

有没有一种方法或任何其他方式可以用来删除所有以前存储在Mechanize中的cookie?它记得我已经登录,这对我来说不是一件好事。每次连接到该页面时,我都需要登录。 最佳答案 在类似的东西之后agent=Mechanize.newagent.getSOMEURL您可以使用agent.cookie_jar.clear!删除所有cookie,这样代理的下一个请求将不会发送任何cookie。 关于ruby-从Mechanize中删除以前存储的cookie,我们在StackOverflow上找