Questions tagged «ruby»

Ruby是由松本行弘(Matz)于1995年创建的一种多平台开放源代码,动态的,面向对象的解释性语言。[ruby]标记用于与Ruby语言有关的问题,包括其语法和库。Ruby on Rails问题应标记为[ruby-on-rails]。



6
检查记录是否刚刚被破坏
所以有 record.new_record? 检查是否有新东西 我需要检查是否有东西出路。 record = some_magic record.destroy record.is_destroyed? # => true 这样的事情。我知道销毁会冻结对象,因此冻结吗?这类作品,但是此任务有明确的内容吗?



14
安装gem capybara-webkit时出错
我是红宝石的新手,但是在尝试安装水豚以在我的系统上运行测试时,出现以下错误。我正在运行OSX my_app$ gem install capybara-webkit Building native extensions. This could take a while... ERROR: Error installing capybara-webkit: ERROR: Failed to build gem native extension. /Users/joe/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb Gem files will remain installed in /Users/joe/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.7.2 for inspection. Results logged to /Users/joe/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.7.2/./gem_make.out 这是gem_make.out的结果 /Users/joe/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
83 ruby  gem  capybara 

9
Bundler:在与gem捆绑安装期间,找不到具有可执行捆绑(Gem :: GemNotFoundException)的gem bundler(> = 0.a)
我正在执行以下脚本: gem install rdoc --no-document gem install bundle bundle 输出: + gem install rdoc --no-document Successfully installed rdoc-6.1.1 1 gem installed + gem install bundle Successfully installed bundle-0.0.1 Parsing documentation for bundle-0.0.1 Done installing documentation for bundle after 2 seconds 1 gem installed 1 gem installed + bundle install /usr/lib/ruby/2.5.0/rubygems.rb:289:in …

3
查找具有特定属性最大值的Ruby数组的元素
这个问题可能有一个非常简单的答案,但是我目前无法解决这个问题。如果我有一个特定类型的对象的红宝石数组,并且它们都有一个特定的字段,那么我如何找到该字段中具有最大值的数组元素?
83 ruby 

7
哈希删除除特定键以外的所有键
我想从哈希中删除除给定键以外的所有键。 例如: { "firstName": "John", "lastName": "Smith", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] } 我想删除除“名字”和/或“地址”之外的所有内容 谢谢

16
Mac用户并得到警告:Nokogiri是针对LibXML版本2.7.8构建的,但已动态加载2.7.3。
我进行了各种研究,并尝试了许多不同的方法。我知道这个问题已经回答了很多次,但是没有建议的解决方案对我有用。 升级到Lion之后,我在Ruby中遇到了分段错误。我相当有信心是Nokogiri。所以我通过Homebrew安装了libxml2。我跑了brew link libxml2。然后,我使用该版本的库重新安装了Nokogiri。 为了证明: $ nokogiri -v # Nokogiri (1.5.0) --- warnings: [] nokogiri: 1.5.0 ruby: version: 1.9.2 platform: x86_64-darwin11.0.0 description: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.0] engine: ruby libxml: binding: extension compiled: 2.7.8 loaded: 2.7.8 我已经将Nokogiri包含在我的gemfile的顶部,并且在我的环境文件中也需要它。我不知道为什么我仍然收到该警告。 有什么建议或想法可以确保它正在加载正确的版本libxml2?
82 ruby  macos  nokogiri  libxml2 

7
在Ruby on Rails中的控制器之间重用代码的最佳实践
我想分享一些控制器方法。在轨道上的红宝石中执行此操作的最佳实践是什么?我应该创建控制器扩展的抽象类,还是应该创建模块并将其添加到每个控制器中?以下是我要分享的控制器方法: def driving_directions @address_to = params[:address_to] @address_from = params[:address_from] @map_center = params[:map_center_start] # if we were not given a center point to start our map on # let's create one. if !@map_center && @address_to @map_center = GeoKit::Geocoders::MultiGeocoder.geocode(@address_to).ll elsif !@map_center && @address_from @map_center = GeoKit::Geocoders::MultiGeocoder.geocode(@address_from).ll end end def printer_friendly starting_point = …

3
检查是否已定义常量
我希望这是一个简单的方法。在下面的示例中,如何检查常量是否已定义? #this works var = var||1 puts var var = var||2 puts var #this doesn't CONST = CONST||1 puts CONST CONST = CONST||2 puts CONST => 1 1 uninitialized constant CONST (NameError)
82 ruby  constants 

8
在运行某些JS后,如何使Capybara检查可见性?
加载页面后,我将根据xhr返回的数据运行,隐藏和显示各种项目的代码。 我的集成测试如下所示: it "should not show the blah" do page.find('#blah').visible?.should be_true end 当我手动去到页面的背景下,本次测试运行,#blah是不是如我所料可见。我怀疑Capybara正在查看页面的初始状态(在这种情况下是不可见的),评估DOM的状态并在JS运行之前未通过测试。 是的,我:js => true在包含的describe块上设置了:) 任何想法将不胜感激!我希望我不必在这里故意拖延,那会感觉片状并且会减慢速度。

7
在Rails中播种数据库的最佳方法是什么?
我有一个rake任务,可在Rails应用程序中填充一些初始数据。例如,国家,州,移动运营商等。 我现在设置的方式是,我在/ db / fixtures中的文件中有一堆create语句和一个处理它们的rake任务。例如,主题是我拥有的一个模型。我在/ db / fixtures中有一个theme.rb文件,看起来像这样: Theme.delete_all Theme.create(:id => 1, :name=>'Lite', :background_color=>'0xC7FFD5', :title_text_color=>'0x222222', :component_theme_color=>'0x001277', :carrier_select_color=>'0x7683FF', :label_text_color=>'0x000000', :join_upper_gradient=>'0x6FAEFF', :join_lower_gradient=>'0x000000', :join_text_color=>'0xFFFFFF', :cancel_link_color=>'0x001277', :border_color=>'0x888888', :carrier_text_color=>'0x000000', :public => true) Theme.create(:id => 2, :name=>'Metallic', :background_color=>'0x000000', :title_text_color=>'0x7299FF', :component_theme_color=>'0xDBF2FF', :carrier_select_color=>'0x000000', :label_text_color=>'0xDBF2FF', :join_upper_gradient=>'0x2B25FF', :join_lower_gradient=>'0xBEFFAC', :join_text_color=>'0x000000', :cancel_link_color=>'0xFF7C12', :border_color=>'0x000000', :carrier_text_color=>'0x000000', :public => true) Theme.create(:id => 3, :name=>'Blues', :background_color=>'0x0060EC', …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.