草庐IT

ruby - 如何解决 factory_girl wrong number of arguments 错误

#rspectestcode@room=FactoryGirl.build(:room)#factorydefinitionfactory:roomdolength{10}width{20}end#codeimplementationclassRoomattr_accessor:length,:widthdefinitialize(length,width)@length=length@width=widthendend在尝试构建@room时运行rspec会导致此错误ArgumentError:wrongnumberofarguments(0for2) 最佳

ruby-on-rails - 在 rails3 的 Controller 上使用 number_with_precision

我想在Controller上使用这个辅助方法。有什么办法可以实现吗? 最佳答案 可能不是一个好主意,但如果必须,请像这样包含帮助程序:classWhateverControllerincludeActionView::Helpers::NumberHelperdefshowrender:text=>number_with_precision(2342.234,:precision=>2)endend 关于ruby-on-rails-在rails3的Controller上使用number_

ruby-on-rails - 使用 Ruby 将数字转换为单词?

如何在ruby​​中将数字转换为单词?我知道某处有一颗gem。尝试在没有gem的情况下实现它。我只需要数字到英文单词的整数。找到了这个,但它很乱。如果您对如何实现更清晰、更易于阅读的解决方案有任何想法,请分享。http://raveendran.wordpress.com/2009/05/29/ruby-convert-number-to-english-word/这是我一直在做的事情。但是在实现秤时遇到了一些问题。代码还是一团糟。我希望在它正常运行时使其更具可读性。classNumberswordsdefin_words(n)words_hash={0=>"zero",1=>"one

ruby - Rspec 模拟错误 : wrong number of arguments

我正在尝试使用Rspec对StripeAPI进行stub,但我遇到了一个问题。这是我的代码的样子:Stripe::Customer.should_receive(:create).with(any_args).and_raise(Stripe::CardError)这是我遇到的错误:Failure/Error:Stripe::Customer.should_receive(:create).with(any_args).and_raise(Stripe::CardError)ArgumentError:wrongnumberofarguments(0for3..6)

ruby - 如何使用 Ruby 检查字符串中是否至少包含一个数字?

我需要使用Ruby检查字符串中是否至少包含一个数字(我假设是某种正则表达式?)。我该怎么做? 最佳答案 您可以使用String类的=~方法,并将正则表达式/\d/作为参数。这是一个例子:s='abc123'ifs=~/\d/#CallingString's=~method.puts"TheString#{s}hasanumberinit."elseputs"TheString#{s}doesnothaveanumberinit."end 关于ruby-如何使用Ruby检查字符串中是否至少

ruby - 在 Ruby 中卡住 Symbols 和 Numbers 的用途或效果是什么?

在Ruby1.9中你可以有Fixnum,Float,和Symbol未卡住或卡住的值:irb(main):001:0>a=[17,42.0,:foo];a.map(&:frozen?)=>[false,false,false]irb(main):002:0>a.each(&:freeze);a.map(&:frozen?)=>[true,true,true]我了解卡住字符串、数组或其他可变数据类型的实用性。然而,据我所知,Fixnum,Symbol,和Float实例从一开始就是不可变的。是否有任何理由卡住它们(或者Ruby不会报告它们的任何原因frozen?请注意,在Ruby2.0中Fi

ruby-on-rails - rails : remove decimal from number_to_currency

我有一个float价格:number_to_currency(m.price,:locale=>'en_us')我得到:$39.00如何删除.00,我想得到:$39 最佳答案 您可以按照记录将精度设置为0here在RailsAPI文档中。number_to_currency(m.price,locale::en,precision:0)请注意,您的价格将进行四舍五入,从38.50美元到39.49美元的任何价格都将显示为39美元。编辑:将区域设置:en_us替换为:en,这可能会在更多应用中启用。

Ruby - 如何获取数组中的最后两个值?

numbers=[1,2,3,4,5,6,7,8]numbers.last#=>8我需要获取最后两条记录。到目前为止我已经试过了:numbers.last-1#throwsa`NoMethodError` 最佳答案 last接受一个参数:@numbers=[1,2,3,4,5,6,7,8]@numbers.last(2)#=>[7,8]如果要删除最后两项:@numbers.pop(2)#=>[7,8]p@numbers#=>[1,2,3,4,5,6] 关于Ruby-如何获取数组中的最后两

ruby - 在ruby中将字符串转换为十进制数

我需要处理小数。在我的程序中,用户需要输入带小数的数字来转换该数字。问题是:如果我尝试将参数转换为数字,我会得到一个没有小数的整数。#ARGV[0]is:44.33size=ARGV[0]putssize.to_i#sizeis:44#:( 最佳答案 你调用to_i,你得到整数。尝试调用to_f,你应该得到一个float。更多字符串转换方法,lookhere. 关于ruby-在ruby中将字符串转换为十进制数,我们在StackOverflow上找到一个类似的问题:

ruby - "wrong number of arguments (1 for 0)"在 Ruby 中是什么意思?

“参数错误:参数数量错误(1代表0)”是什么意思? 最佳答案 当您定义一个函数时,您还定义了该函数需要工作的信息(参数)。如果它被设计为在没有任何额外信息的情况下工作,并且你传递了一些信息,你就会得到那个错误。例子:不接受参数:defdogend接受参数:defcat(name)end当你调用它们时,你需要用你定义的参数来调用它们。dog#worksfinecat("Fluffy")#worksfinedog("Fido")#ReturnsArgumentError(1for0)cat#ReturnsArgumentError(0f