Questions tagged «ruby»

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

4
加载时Ruby on Rails控制台挂起
出于某种原因,Ruby on Rails控制台拒绝启动。它只是挂了。我尚未对代码进行任何更改,使用相同版本的Ruby和Ruby on Rails的其他项目也没有问题。当我最终Ctrl+ C获得该堆栈跟踪时,它指向Sp​​ring。 我无法解释为什么这种情况从一瞬间到下一瞬间都可以正常工作。我已经通过RVM清除了所有的gem,并通过bundle命令重新安装了所有gem,但是还是没有运气。任何想法,将不胜感激。 据我所知,Ruby on Rails服务器也没有问题。该问题与项目相关,但是代码没有更改,只有Ruby on Rails控制台出现了问题。 Ruby 2.1.2 Rails 4.1.4 user_a@ubuntu:~/work/app_a$ rails console ^C/home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `gets': Interrupt from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `verify_server_version' from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:25:in `call' from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call' from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/rails.rb:23:in `call' from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call' from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client.rb:26:in `run' from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/bin/spring:48:in `<top (required)>' from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load' from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top …

15
在Ruby中查找类的所有后代
我可以轻松地提升Ruby中的类层次结构: String.ancestors # [String, Enumerable, Comparable, Object, Kernel] Enumerable.ancestors # [Enumerable] Comparable.ancestors # [Comparable] Object.ancestors # [Object, Kernel] Kernel.ancestors # [Kernel] 有什么办法可以降低层次结构吗?我想这样做 Animal.descendants # [Dog, Cat, Human, ...] Dog.descendants # [Labrador, GreatDane, Airedale, ...] Enumerable.descendants # [String, Array, ...] 但似乎没有descendants方法。 (出现这个问题是因为我想在一个从基类派生的Rails应用程序中找到所有模型并列出它们;我有一个可以与任何此类模型一起使用的控制器,并且我希望能够添加新模型无需修改控制器。)
144 ruby 

5
何时使用嵌套类和模块中嵌套的类?
我对何时使用子类和模块非常熟悉,但是最近我看到了这样的嵌套类: class Foo class Bar # do some useful things end end 以及嵌套在模块中的类如下: module Baz class Quux # more code end end 文档和文章都很稀少,或者我对这个主题的教育不足,无法摸索正确的搜索词,但是我似乎找不到关于该主题的太多信息。 有人可以提供示例或链接到有关为什么/何时使用这些技术的帖子吗?
144 ruby  oop 

10
在Ruby中生成向导
我有一些使用Guids可以轻松解决的问题。 特别是,对于密码重置工作流程,我想将Guid令牌发送到用户的电子邮件,并让他们使用该令牌重置密码。由于GUID是唯一的,因此这是非常安全的,并且省去了我用电子邮件向人们发送密码的麻烦。 我注意到Ruby 有一个Guid宝石;但它看起来很旧,并且将内容写入文件系统。 有谁知道其他可以创建全局唯一标识符的宝石? 我知道我可以回到: (0..16).to_a.map{|a| rand(16).to_s(16)}.join 但这似乎并不是一个合适的GUID ...
142 ruby  guid 

16
需要简单的注入方法说明
[1, 2, 3, 4].inject(0) { |result, element| result + element } # => 10 我正在看这段代码,但我的大脑没有记录数字10如何成为结果。有人介意解释这里发生了什么吗?
142 ruby  syntax 

4
访问类的常量
当我有以下内容时: class Foo CONSTANT_NAME = ["a", "b", "c"] ... end 有没有一种方法可以访问,Foo::CONSTANT_NAME或者必须使类方法访问该值?


7
为什么Ruby既有私有方法又有受保护的方法?
在阅读本文之前,我认为Ruby中的访问控制是这样工作的: public-可以被任何对象(例如Obj.new.public_method)访问 protected -只能从对象本身以及任何子类内部访问 private -与protected相同,但是该方法在子类中不存在 但是,除了您不能使用显式接收器调用方法(即有效,但不能)之外,看起来protected和private动作相同。privateself.protected_methodself.private_method 这有什么意义呢?在什么情况下,您不希望使用显式接收器调用方法?

25
您更喜欢哪种Ruby IDE?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 我最近将Eclipse与RDT(不是RadRails)一起使用了很多,对此我感到很满意,但是我想知道你们是否知道任何不错的选择。我知道NetBeans现在也支持Ruby,但是我不确定它在Eclipse上提供了什么。 请列出您认为在建议IDE时出色或有用的所有功能,以便于比较。 另外,我说的是Ruby,而不是Rails。尽管对Rails的支持是一个加号,但我更喜欢以Rails为中心的东西。它也应该在Linux和Solaris上可用。
141 ruby  ide  editor 

11
已安装的宝石列表?
我可以调用一个Ruby方法来获取已安装宝石的列表吗? 我想解析的输出gem list。有其他方法可以做到这一点吗?
141 ruby  rubygems 


26
如何避免运行ActiveRecord回调?
我有一些具有after_save回调的模型。通常这很好,但是在某些情况下,例如在创建开发数据时,我想保存模型而不运行回调。有没有简单的方法可以做到这一点?类似于... Person#save( :run_callbacks => false ) 要么 Person#save_without_callbacks 我查看了Rails文档,没有找到任何东西。但是,以我的经验,Rails文档并不总是能讲述整个故事。 更新 我找到了一篇博客文章,其中解释了如何从这样的模型中删除回调: Foo.after_save.clear 我找不到该方法的文档记录,但似乎可行。


7
'sudo gem install'或'gem install'和gem位置
运行' sudo gem list --local'和' gem list --local'给我不同的结果。我的宝石路径设置为我的主文件夹,并且仅包含来自' gem list --local' 的宝石。 在计算机上的不同目录中安装gems可能不是一件好事,所以我应该对gem路径进行不同的设置,并且sudo在安装某些东西时应该始终使用吗? my ~/.profile export PATH=/opt/local/bin:/opt/local/sbin:$PATH export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 〜/ .bash_profile为空。

4
RVM安装过程中如何解决“ gpg:找不到命令”错误?
我有一个新的Mac Pro(OS X 10.9.5),可以从头开始进行设置。我想安装RVM,它说要做的第一件事是: 安装mpapis公钥(可能需要gpg2和或sudo) gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 当我尝试时,我得到了: gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 zsh: command not found: gpg 我试图找到一个很好的指南来克服这个问题,这看起来也值得信赖,但是我没有运气。 有人可以解释一下什么gpg,为什么我还没有它以及如何正确使用它。
140 ruby  macos  command-line  rvm  gnupg 

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.