Tag: ruby

如何禁用控制台中的MongoDB日志消息?

我有这个小testing脚本: require 'mongo' mongo_client = Mongo::Client.new(['127.0.0.1:27017'], :database => 'test') mongo_client[:collection].insert_one({a: 1}) 这是控制台输出: $ ruby test.rb D, [2015-05-17T21:12:05.504986 #25257] DEBUG — : MONGODB | Adding 127.0.0.1:27017 to the cluster. | runtime: 0.0212ms D, [2015-05-17T21:12:05.531238 #25257] DEBUG — : MONGODB | COMMAND | namespace=admin.$cmd selector={:ismaster=>1} flags=[] limit=-1 skip=0 project=nil | runtime: 24.5481ms D, [2015-05-17T21:12:05.554532 #25257] DEBUG — […]

命令“ruby”在我的Mac上不做任何事情

我不能让Ruby解释器运行在我的任一台Mac电脑上(一台MacBook和一台MacBook Pro,都运行Snow Leopard)。 当我运行它时,通过在terminal键入ruby ,没有任何反应。 它只是坐在那里。 我可以通过按Ctrl+C来杀死它,但就是这样。 我知道Ruby进程正在运行,因为我可以在Activity Monitor中看到它,并且运行ruby –version可以正常工作。 我已经尝试了以下,都无济于事: 我有一些bash自定义,所以我试图禁用它们,但是没有帮助。 我使用MacPorts安装了Ruby 1.8.7的新副本,但是那个人也有同样的问题。 我试着退出并重新启动terminal应用程序。 其他一些可能有用的信息: 我正在尝试运行Snow Leopard附带的Ruby版本。 我已经安装了Apple的开发者工具。 其他解释器(Python,Io等)工作正常。 今天晚上我花了一段时间在网上search这个问题,但还没有find任何的讨论。 我不知道是什么原因造成的,所以任何人都可以提供帮助将不胜感激。

为什么factory_girl不是我的事务操作? – 行在testing后保留在数据库中

我试图使用factory_girl来创build一个“用户”工厂(RSpec),但它似乎并没有在事务上运行,显然是因为testing数据库中以前的testing的残留数据而失败。 Factory.define :user do |user| user.name "Joe Blow" user.email "joe@blow.com" user.password 'password' user.password_confirmation 'password' end @user = Factory.create(:user) 运行第一组testing是好的: spec spec/ … Finished in 2.758806 seconds 60 examples, 0 failures, 11 pending 一切顺利,如预期的那样,再次运行testing: spec spec/ … /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/validations.rb:1102:in `save_without_dirty!': Validation failed: Email has already been taken (ActiveRecord::RecordInvalid) from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/dirty.rb:87:in `save_without_transactions!' from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200:in `save!' from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction' […]

水豚:未定义的方法'访问'

当运行我的规格与RSpec&水豚,它不能find水豚的访问方法。 是否有另一个我需要做的初始化步骤? $bundle exec rspec spec /home/brian/projects/expense_track/expense_track/spec/requests/homepage_spec.rb:6:in `block (2 levels) in <top (required)>': undefined method `visit' for #<Class:0xb6572b8> (NoMethodError) 的Gemfile: group :test, :development do gem "rspec-rails" gem "capybara" end 我的spec_helper.rb的顶部: # This file is copied to spec/ when you run 'rails generate rspec:install' ENV["RAILS_ENV"] ||= 'test' require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' require 'capybara/rspec' require 'rspec/autorun' […]

从Ruby运行一个显示和捕获输出的命令

有没有办法从Ruby显示运行(shell)命令,但也捕获输出? 也许在一些gem的帮助下? 我的意思是显示的不是最后打印出来的,而是看起来如此,所以用户得到运行慢速命令时发生了什么的反馈。

Ruby:关联数组

Ruby on Rails有关联数组吗? 例如: a = Array.new a["Peter"] = 32 a["Quagmire"] = 'asdas' 在Ruby中创build这样一个数组结构最简单的方法是什么?

将一个目录的内容复制到另一个

使用Ruby,如何将一个目录的内容复制到另一个目录? 例如,给定的(非空的)目录A和B: A/ bar foo B/ jam jim 我想复制从A到B的所有内容,导致: A/ bar foo B/ bar foo jam jim 我不能使用FileUtils.cp_r因为它复制目录本身: irb(main):001:0> require 'fileutils' #=> true irb(main):002:0> Dir['**/*'] #=> ["A", "A/bar", "A/foo", "B", "B/jam", "B/jim"] irb(main):003:0> FileUtils.cp_r('A','B') #=> nil irb(main):004:0> Dir['**/*'] #=> ["A", "A/bar", "A/foo", "B", "B/A", "B/A/bar", "B/A/foo", "B/jam", "B/jim"] 有没有比以下更好(更短,更有效)的答案? Dir['A/*'].each{ |f| FileUtils.cp(f,"B") }

我怎样才能使checkbox默认在Rails 1.2.3“检查”?

如何使checkbox在最初显示时默认为“已检查”? 我还没有find一个“Rails”的方式来做到这一点(工作),所以我用JavaScript做到了。 有没有一个适当的方法来在Rails中做到这一点? 我正在使用Rails 1.2.3。

在Ruby中获取数组的区别

可能重复: 比较ruby串或数组 我有一个旧的数组: [1, 2, 3, 4, 5]和新的: [1, 2, 4, 6] 如何与Ruby区别:5,3被删除, 6被添加?

C# ?? Ruby中的运算符?

是否有可能实施? Ruby中的运算符? a = nil b = 1 x = a ?? b # x should == 1 x = b ?? 2 # x should == 1