草庐IT

to_native_string

全部标签

ruby-on-rails - has_many 和 belongs_to 协会在 factory_girl

我有这些模型,我正在尝试创建工厂以使用factory_girl。classFoo我不确定如何在不创建工厂无休止地相互调用的循环的情况下创建工厂。Factory.define:foodo|f|f.after_createdo|ff|ff.baz=Factory(:baz)endendFactory.define:bazdo|f|f.after_createdo|ff|ff.foos=[Factory.create(:foo)]endend我意识到我可以在baz工厂中省略ff.foos=[Factory.create(:foo)],但是在我的baz中测试我被迫使用foo.baz而不是仅仅使

ruby-on-rails - RSpec 故事和规范 : When to use what?

所以我想开始使用RSpec故事,但我不确定编写Controller、模型和View规范的位置。例如,您有“登录”故事和“用户提供错误的密码”场景,难道您最终测试的不是与Controller/模型规范相同的东西(response.shouldrender...,user.shouldbe_nil等)所以我的问题是:对于那些习惯于使用RoR进行bdd(或故事dd)的人,您是否仍然编写模型/Controller规范?如果是这样,您遵循的工作流程如何(“第一个故事,然后缩小到特定规范”)? 最佳答案 如果您现在开始使用故事(而不是拥有大量遗

ruby - 这是 Method#to_proc 中的错误吗? ( ruby 1.8.7)

给定以下采用一个参数的方法:deffoo(arg);parg;end我可以用一个空数组来调用它:foo([])#prints[]我也可以将它保存为一个Method对象并用一个空数组调用that,结果相同:method(:foo).call([])#prints[]但是,如果我将Method对象转换为Proc并使用空数组调用that,我会得到一个ArgumentError:method(:foo).to_proc.call([])#ArgumentError:wrongnumberofarguments(0for1)#from(irb):4:in`foo'#from(irb):4:in`

ruby - 哪种风格,lambda..should 或 expect..to,更适合在 RSpec 中测试预期?

我看到两种样式都被广泛使用:#1lambda{raise"Boom"}.shouldraise_error和#2expect{raise"Boom"}.toraise_error.我喜欢expect..tomore,因为它读起来更好,并且隐藏了过程的创建。我查看了rspec代码,似乎expect..to是suggested,但是我经常遇到使用lambda..should的库。期望..更新,因此还不是“著名”吗? 最佳答案 expect从rspec-2开始使用,之前必须使用lambda。RSpec“正式”建议使用expect,他们可能

Ruby:为什么 puts 会调用 to_ary?

我正在学习Ruby中的元编程,并且正在尝试通过method_missing和define_method定义缺失的方法。我遇到了一些意想不到的行为,想知道是否有人可以解释这一点。这是我的类(class):classXdefmethod_missing(m,*args,&block)puts"method#{m}notfound.Definingit."self.class.send:define_method,mdoputs"hifrommethod#{m}"endputs"definedmethod#{m}"endend现在,这段代码:x=X.newx.some_methodputsx

ruby-on-rails - Rails 4 to_json 产生意外异常 nil 不是符号

我正在将Rails3应用程序升级到Rails4。在Rails3中,包含ActiveRecord对象数组的散列的json序列化工作正常;现在在Rails4中它有不可预测的结果。这是一个在Rails4上因TypeErrorException:nilisnotasymbol而失败的示例对象{1230=>[#,#]}现在如果我拿另一个类似的物体;包含一组ActiveRecord对象的哈希并运行to_json它适用于这个...{1234=>[#,#]} 最佳答案 支持我的QuestionAnswerResponse模型的View没有id列,而

ruby - 您如何为 Linux 的 ruby​​ gem 预编译 native 扩展?

我们有一个ruby​​应用程序,该应用程序依赖于具有native扩展的gem(在本例中为Nokogiri)。但是,由于各种原因,我们无法在我们的生产主机上安装该gem的构建先决条件(例如build-essential、libxslt-dev、ruby-dev等)。是否有(标准的?)方法可以使用预构建的native扩展重新打包gem?这应该是可能的(在Windows上执行此操作似乎是相当标准的),但我找不到关于该主题的任何文档。请注意,我们只需要支持一个平台,所有系统库的已知版本(Ubuntu9.04Server64位,Ruby1.8.7)。更新:我们正在使用Bundler,所以我们希望

ruby-on-rails - array * string 在 Ruby 中是什么意思?

我在查看一些Rails源代码时偶然发现了#Filevendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb,line129129:deftarget!130:@target*''131:end*''是做什么的?那是乘以一个空字符串......?你为什么要那样做。 最佳答案 这是一个奇怪的语法。这些是等价的:>>[1,2,3]*'joiner'=>"1joiner2joiner3">>[1,2,3].join'joiner'=>"

ruby - 通过 RVM 在 Ubuntu、Ruby 1.9.2 上安装使用 native 扩展的 gem 时出错

我在尝试安装ffigem时遇到错误:~-16:54>gemiffiBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingffi:ERROR:Failedtobuildgemnativeextension.rakeRUBYARCHDIR=/home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/libRUBYLIBDIR=/home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/lib/home/mdem

ruby-on-rails - Rails 茧 gem : Undefined Method 'new_record?' on link_to_remove_association with Wicked

我一直在努力弄清楚一些代码。我有一个表格,我正在尝试使用Wicked和茧gem。一切正常,包括link_to_add_association功能。正如Cocoon所建议的那样,我正在为关联的表单字段呈现部分内容,并且除了link_to_remove_association函数之外,一切似乎都正常工作。它返回以下错误:nil:NilClass的未定义方法new_record?这是我抛出错误的部分:这是调用部分的View:location%>这是调用View的Controller操作:classUserStepsController如果有帮助,这里是cocoon中抛出错误的函数:defli