标签:ruby

Ruby – 如何在Ruby on Rails中“漂亮”格式化我的JSON输出?

我希望Ruby on Rails中的JSON输出“漂亮”或格式良好。 现在,我打电话to_json,我的JSON全部在一条线上。有时,如果JSON输出流中存在问题,则很难看到。 有没有办法配置或方法使我的JSON在Rails中“漂亮”或格式良好? 使用pretty_generate()内置于更高版本的JSON中的函数。例如: require 'json' my_object = { :array => [1, 2, 3, { :sample => "hash"} ], :foo =& […]

ruby – 检查Ruby中的数组中是否存在值

我有一个值'Dog'和一个数组['Cat', 'Dog', 'Bird']。 如何在没有循环的情况下检查数组中是否存在?有没有一种简单的方法来检查值是否存在,仅此而已? 您正在寻找include?: >> ['Cat', 'Dog', 'Bird'].include? 'Dog' => true 有一种in?方法在ActiveSupport(滑轨的一部分),因为V3.1,如通过@campaterson指出。所以在Rails中,或者如果你require 'active_suppo […]

ruby – 什么是Ruby <=>(spaceship)操作符?

什么是Ruby <=>(spaceship)运营商?运营商是否通过其他语言实施? Perl可能是第一个使用它的语言。Groovy是支持它的另一种语言。基本上,而不是返回1(true)或0(false取决于参数是否相等或不相等),飞船运算符将返回1,0或者−1取决于相对于右参数左边参数的值。 a <=> b := if a < b then return -1 if a = b then return 0 if a > b then return 1 if a […]

ruby – 如何将命令行参数传递给rake任务

我有一个需要将值插入多个数据库的rake任务。 我想通过命令行或其他 rake任务将此值传递给rake任务。 我怎样才能做到这一点? 选项和依赖关系需要在数组内部: namespace :thing do desc "it does a thing" task :work, [:option, :foo, :bar] do |task, args| puts "work", args end task :another, [:option, :foo, :bar] do |task, args| […]

Ruby on Rails中nil v。empty v。blank的简要解释

我发现自己反复寻找的差异明确的定义nil?,blank?以及empty?在Ruby on Rails的。这是我最近来的: blank?对象是假的,空的或空白字符串。例如""," ",nil,,和{}都是空白。 nil? 对象是NilClass的实例。 empty?对象是特定于类的,并且定义因类而异。如果没有字符,则字符串为空;如果数组不包含任何项目,则该数组为空。 有什么缺失或可以进行更紧密的比较? .nil? 可用于任何对象,如果对象为零,则为true。 .empty? 可用于字符串,数组 […]

ruby – 如何使–no-ri –no-rdoc成为默认的gem install?

我不使用从我的机器或我处理的服务器(我使用其他文档方式)安装的gem中的RI或RDoc输出。 我安装的每个gem都会默认安装RI和RDoc文档,因为我忘记了设置--no-ri --no-rdoc。 有没有办法让这两个标志为默认值? 您只需~/.gemrc将以下行添加到本地文件中(它位于您的主文件夹中) gem: --no-document 或者您可以将此行添加到全局gemrc配置文件中。这里是如何找到它(在Linux中) strace gem source 2>&1 | grep […]

如何在Ruby on Rails中获取当前的绝对URL?

如何在我的Ruby on Rails视图中获取当前的绝对URL? 该request.request_uri只返回相对URL。  答案 对于Rails 3.2或Rails 4+ 您应该使用request.original_url获取当前的URL。 这个方法记录在original_url方法中,但如果你好奇,实现是: def original_url base_url + original_fullpath end 对于Rails 3: 你可以写"#{request.protocol}#{reque […]

如何在Ruby中编写switch语句?

Ruby使用case表达式代替。 case x when 1..5 "It's between 1 and 5" when 6 "It's 6" when "foo", "bar" "It's either foo or bar" when String "You passed a string" else "You gave me #{x} -- I have no idea what to do with that." end 通过使用===运算符将when-clause中的对象与case- […]
友情链接:蝴蝶教程