Tag: ruby

如何从哈希中提取子哈希?

我有一个哈希: h1 = {:a => :A, :b => :B, :c => :C, :d => :D} 提取这样的子哈希的最好方法是什么? h1.extract_subhash(:b, :d, :e, :f) # => {:b => :B, :d => :D} h1 #=> {:a => :A, :c => :C}

Xcode – configure:error:在$ PATH中找不到可接受的C编译器

从头开始重build一个mac。 安装xcode和rvm,然后尝试安装ruby,但他们都给我: Error running ' ./configure –prefix=/Users/durrantm/.rvm/rubies/ruby-1.9.3-p125 –enable-shared –disable-install-doc –with-libyaml –with-opt-dir=/Users/durrantm/.rvm/usr ', please read /Users/durrantm/.rvm/log/ruby-1.9.3-p125/configure.log There has been an error while running configure. Halting the installation. Michaels-MacBook-Air:~ durrantm$ 日志有: checking for gcc… no checking for cc… no checking for cl.exe… no configure: error: in `/Users/durrantm/.rvm/src/ruby-1.9.2-p290': configure: error: no acceptable C compiler found in $PATH 我需要gcc […]

我如何在这个数组中获得独特的元素?

使用Mongoid。 不幸的是,Mongoid不允许select独特的/独特的! 已经得到这些结果。 正如你所看到的,有7个结果。 如果仔细看(在user_id),只有2个用户。 [ #<Activity _id: 4cea6c4572357e00fa00011a, created_at: 2010-11-22 13:12:37 UTC, updated_at: 2010-11-22 13:12:37 UTC, action: "Attend", user_id: BSON::ObjectId('4cea2fb872357e00fa000025'), artist_id: nil, media_id: BSON::ObjectId('4cea447472357e00fa00009a')>, #<Activity _id: 4cea6c3072357e00fa000116, created_at: 2010-11-22 13:12:16 UTC, updated_at: 2010-11-22 13:12:16 UTC, action: "Attend", user_id: BSON::ObjectId('4cea2fb872357e00fa000025'), artist_id: nil, media_id: BSON::ObjectId('4cea447472357e00fa00009a')>, #<Activity _id: 4cea6bdd72357e00fa00010d, created_at: 2010-11-22 13:10:53 UTC, updated_at: 2010-11-22 13:10:53 UTC, […]

ruby哈希白名单filter

我想弄清楚如何将一个filter中的键和值对过滤掉 例如,我想采取这个散列 x = { "one" => "one", "two" => "two", "three" => "three"} y = x.some_function y == { "one" => "one", "two" => "two"} 谢谢你的帮助 编辑:应该提到,在这个例子中,我希望它的行为作为一个白名单filter。 也就是说,我知道我想要什么,而不是我不想要的。

Rubygems,Bundler和RVM混淆

在再次询问之前,我读了“ Rubygems,Bundler和RVM之间的关系 ”。 好吧,这样的问题很多,但是回答的人说他们和Rubygems,RVM和Bundler一起工作,他们没有解释每个工作是如何独立的。 当我们安装gem的时候,我真的很困惑,三个人是如何孤立地工作的。 请不要告诉我你是如何工作的,这对我有帮助,但是当我们和他们一起玩时,我不知道发生了什么。 我的困惑可以分解成这些问题。 在以下情况下安装的gem在哪里? 我只有Rubygems(没有RVM或Bundler)? Rubygems和RVM安装? Rubygems,RVM和Bundler是否安装? 请通过networking上的资源或详细的答案来帮助我理解这些内容。

string连接与Ruby中的插值

我刚刚开始学习Ruby(第一次编程),并对variables有一个基本的语法问题,以及编写代码的各种方法。 克里斯派恩的“学习计划”教会了我写一个像这样的基本程序… num_cars_again= 2 puts 'I own ' + num_cars_again.to_s + ' cars.' 这很好,但后来我偶然发现了ruby.learncodethehardway.com上的教程,并被教会编写像这样的完全相同的程序。 num_cars= 2 puts "I own #{num_cars} cars." 他们都输出相同的东西,但显然选项2是一个更短的方法来做到这一点。 为什么我应该使用另一种格式有什么特别的原因?

“:nothing”选项已被弃用,并将在Rails 5.1中被删除

这个代码在rails 5中 class PagesController < ApplicationController def action render nothing: true end end 导致以下弃用警告 DEPRECATION WARNING: :nothing` option is deprecated and will be removed in Rails 5.1. Use `head` method to respond with empty response body. 我该如何解决?

我有一个Rails的任务:我应该使用脚本/亚军或耙?

对于特别的 Rails任务,我们有几个实现的select,其中主要看起来是: script/runner some_useful_thing 和: rake some:other_useful_thing 我应该select哪个选项? 如果有一个明确的喜爱,那么,如果有的话,我应该考虑使用其他? 如果从来没有,那么为什么你会认为它仍然存在于框架没有贬低警告?

Bundler:您正在尝试在更改Gemfile后以部署模式进行安装

我对bundler和capistrano很新,我正在尝试将它们一起使用。 当我尝试部署时,我收到以下消息: 您正在尝试在更改Gemfile后以部署模式进行安装。 在别处运行`bundle install'并将更新的Gemfile.lock添加到版本控制。 我不知道如何去满足抱怨的系统,我不明白为什么投诉会出现,因为我在doc中读到: 如果Gemfile.lock确实存在,并且已经更新了Gemfile(5),bundler将使用Gemfile.lock中的依赖关系来处理所有未更新的gem,但会重新parsing您更新的gem的依赖关系。 您可以在CONSERVATIVE UPDATING下find更多关于此更新过程的信息。 我认为这意味着Bundler可以处理我的Gemfile不符合预期的事实。 任何帮助? 规格:Ruby 1.9.3,Rails 3.2.3,Capistrano 2.12.0,Bundler 1.1.4,Windows 7,部署到Posix机器。 编辑:我的Gemfile包含如下的逻辑块: unless RbConfig::CONFIG['host_os'] === 'mingw32' # gem 'a' … end

Rails 3:如何创build一个新的嵌套资源?

由于它没有实现评论控制器的“新”动作,因此入门Rails指南对这部分有些迷惑。 在我的应用程序中,我有一个有许多章节的书籍模型: class Book < ActiveRecord::Base has_many :chapters end class Chapter < ActiveRecord::Base belongs_to :book end 在我的路线文件中: resources :books do resources :chapters end 现在我要实现章节控制器的“新”动作: class ChaptersController < ApplicationController respond_to :html, :xml, :json # /books/1/chapters/new def new @chapter = # this is where I'm stuck respond_with(@chapter) end 什么是正确的方法来做到这一点? 另外,视图脚本(表单)应该是什么样的?