Tag: ruby

我如何得到一个Ruby类的名字?

我如何从ActiveRecord对象获取类名? 我有: result = User.find(1) 我试过了: result.class # => User(id: integer, name: string …) result.to_s # => #<User:0x3d07cdc>" 我只需要类名,在一个string( User在这种情况下)。 有没有一种方法呢? 我知道这是非常基本的,但是我search了Rails和Ruby的文档,我找不到它。

Rails的update_attributes没有保存?

有没有替代update_attributes不保存logging? 所以我可以做这样的事情: @car = Car.new(:make => 'GMC') #other processing @car.update_attributes(:model => 'Sierra', :year => "2012", :looks => "Super Sexy, wanna make love to it") #other processing @car.save 顺便说一句,我知道我可以@car.model = 'Sierra' ,但我想更新他们在一条线上。

我应该使用别名或alias_method?

我在alias和alias_method上find了一篇博文。 如该博客文章中给出的示例所示,我只是想将方法别名到同一个类中的另一个方法。 我应该用哪个? 我总是看到alias ,但有人告诉我alias_method更好。 使用别名 class User def full_name puts "Johnnie Walker" end alias name full_name end User.new.name #=>Johnnie Walker alias_method的用法 class User def full_name puts "Johnnie Walker" end alias_method :name, :full_name end User.new.name #=>Johnnie Walker 博客文章链接在这里

“WARN无法确定响应主体的内容长度”是什么意思,以及如何摆脱它?

由于升级到Rails 3.1,我在我的开发日志中看到这个警告消息: WARN无法确定响应主体的内容长度。 设置响应的内容长度或设置Response#chunked = true 这是什么意思,我怎么能删除它? 这是个问题吗?

你如何findRuby的最小/最大值?

我想要做一些简单而直接的事情,比如min(5,10)或Math.max(4,7) 。 在Ruby中有这个function吗?

你如何将一个数组添加到Ruby中的另一个数组,而不是最终的多维结果?

somearray = ["some", "thing"] anotherarray = ["another", "thing"] somearray.push(anotherarray.flatten!) 我期望 ["some","thing","another","thing"]

类和模块之间的区别

我来自Java,现在我更多地使用Ruby。 我不熟悉的一种语言function是module 。 我想知道什么是一个module ,什么时候使用一个,为什么在一个class使用一个module ?

如何在Ruby中与索引进行映射?

什么是最简单的转换方法 [x1, x2, x3, … , xN] 至 [[x1, 2], [x2, 3], [x3, 4], … , [xN, N+1]]

如何从ruby块跳出来?

这里是Bar#do_things : class Bar def do_things Foo.some_method(x) do |x| y = x.do_something return y_is_bad if y.bad? # how do i tell it to stop and return do_things? y.do_something_else end keep_doing_more_things end end 这里是Foo#some_method : class Foo def self.some_method(targets, &block) targets.each do |target| begin r = yield(target) rescue failed << target end end end end 我想过使用raise,但是我试图使它成为通用的,所以我不想在Foo任何具体的东西。

安装gem或更新RubyGems失败,权限错误

尝试安装gem( gem install mygem )或更新RubyGems( gem update –system )失败,并出现此错误: 错误:执行gem时(Gem :: FilePermissionError) 您没有对/Library/Ruby/Gems/2.0.0目录的写入权限。 任何人有想法如何解决这个问题?