小编kri*_*ard的帖子

为什么foo不再为零 - 或者在函数内起作用

为什么在下面的代码片段foo取代了它的定义?

def foo
  def foo
    1
  end
end
Run Code Online (Sandbox Code Playgroud)

这是第一次foo没有

foo
=> nil

foo.foo
=> 1
Run Code Online (Sandbox Code Playgroud)

现在,如果我foo再次打电话:

foo
=> 1
Run Code Online (Sandbox Code Playgroud)

你可以看到foo不再是零了.谁可以给我解释一下这个?谢谢.

ruby

11
推荐指数
1
解决办法
129
查看次数

rails 是否可以返回响应并继续处理客户端提交的数据?

我有一个处理用户提交数据的网络服务。用户不需要接收基于该数据的响应,他只需要提交它。但是,我确实需要处理该数据。目前,处理直接作为对 post 操作的响应进行,处理后返回一个状态码。当用户提交大量数据时,这通常需要 0.5s - 2s,但有时会更长。

在 Rails 中是否有可能产生一个新线程来处理该数据,同时返回状态代码(从而完成对用户的请求)?

ruby multithreading ruby-on-rails

5
推荐指数
1
解决办法
1697
查看次数

输出ruby方法的来源

假设我用一个方法创建一个类.

class A
  def test
    puts 'test'
  end
end
Run Code Online (Sandbox Code Playgroud)

我想知道里面发生了什么test.我想按字面意思输出:

def test
  puts 'test'
end
Run Code Online (Sandbox Code Playgroud)

有没有办法在字符串中输出方法的来源?

ruby metaprogramming

4
推荐指数
1
解决办法
244
查看次数

这个Ruby代码如何工作 - 如果-stmt有范围?

我目前正在学习Ruby,我似乎无法将其包裹起来if /start/../end......帮助?

while gets
  print if /start/../end/
end
Run Code Online (Sandbox Code Playgroud)

ruby

3
推荐指数
1
解决办法
102
查看次数

无法验证无表格类的唯一性

我有以下代码:

class Foo
  include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming

  attr_accessor :name
  validates :name, uniqueness: true
end
Run Code Online (Sandbox Code Playgroud)

但是,在测试我收到的唯一性验证时:

/Users/neil/.rvm/gems/ruby-1.9.3-p286@config-keeper/gems/activemodel-3.2.9/lib/active_model/validations/validates.rb:96:in `rescue in block in validates': Unknown validator: 'UniquenessValidator' (ArgumentError)
    from /Users/neil/.rvm/gems/ruby-1.9.3-p286@config-keeper/gems/activemodel-3.2.9/lib/active_model/validations/validates.rb:93:in `block in validates'
    from /Users/neil/.rvm/gems/ruby-1.9.3-p286@config-keeper/gems/activemodel-3.2.9/lib/active_model/validations/validates.rb:90:in `each'
    from /Users/neil/.rvm/gems/ruby-1.9.3-p286@config-keeper/gems/activemodel-3.2.9/lib/active_model/validations/validates.rb:90:in `validates'
    from /Users/neil/code/open_source/config_keeper/app/models/foo.rb:8:in `<class:App>'
Run Code Online (Sandbox Code Playgroud)

这看起来有点奇怪.关于什么可能是错的任何想法?

ruby validation ruby-on-rails ruby-on-rails-3

2
推荐指数
1
解决办法
1171
查看次数