标签: ruby

包含来自单独文件的Ruby类

有一段时间我一直在Ruby模块中包含一个完整的类.显然这不是我应该做的.似乎模块的要点是存储函数,然后可以将这些函数作为方法包含在新类中.

我不想要这个.我有一个类,我想保存在一个单独的文件中,我可以从其他文件访问.我怎样才能做到这一点?

谢谢.

ruby module class

38
推荐指数
1
解决办法
6万
查看次数

RSpec:stubbing Kernel :: sleep?

有没有办法在rspec场景中存根Kernel.sleep?

ruby rspec

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

Ruby中的参数化get请求?

如何GET在Ruby中使用参数发出HTTP 请求?

当你正在做的时候很容易做到POST:

  require 'net/http'
  require 'uri'

  HTTP.post_form URI.parse('http://www.example.com/search.cgi'),
                 { "q" => "ruby", "max" => "50" }
Run Code Online (Sandbox Code Playgroud)

但我认为没有办法将GET参数作为哈希使用传递'net/http'.

ruby get ruby-on-rails http

38
推荐指数
4
解决办法
5万
查看次数

Ruby datetime适合mysql比较

Rails一直很好,可以在MySql中自动插入格式正确的日期时间,而无需我多考虑.

但是,为了进行验证,我需要检查存储的mysql日期时间值(即2008-07-02 18:00:00)是否大于或小于"now".我可以打电话DateTime.now,Time.now但我怎么能把它转换为mysql喜欢的格式?

谢谢

ruby mysql datetime ruby-on-rails

38
推荐指数
2
解决办法
3万
查看次数

rails collection_select与select

collection_selectselectRails助手:我应该使用哪一个?

我无法在两种方式上看到差异.两个帮助程序都采用集合并在select标记内生成选项标记.有没有collection_select比这更好的场景select?或者我在这里缺少什么?

ruby ruby-on-rails

38
推荐指数
2
解决办法
2万
查看次数

我在哪里可以找到一个积极开发的Ruby工具?

我编写的大多数代码都是在Ruby中,每隔一段时间,我会做一些错字,只会在一段时间后被捕获.当我的脚本运行很长的任务时,这很烦人,并返回发现我有一个错字.

是否有一个积极开发的Ruby工具lint工具可以帮助我克服这个问题?是否可以在一个使用大量源文件的系统中使用它,其中一些是动态加载的?

以此片段为例:

a = 20
b = 30
puts c
Run Code Online (Sandbox Code Playgroud)

要获得赏金,请告诉我一个工具,它将检测c变量为未创建/未定义.

ruby code-analysis static-analysis lint

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

上传图片Ruby on Rails

我是新手,如果这很容易就很抱歉.我想知道上传图片并在Ruby on Rails中显示它们的最佳方法.我有一个博客,并希望在创建帖子时可以选择附加图片.

ruby blogs file-upload ruby-on-rails

38
推荐指数
4
解决办法
6万
查看次数

内核#尝试读取文件而不是标准输入

我对Ruby很新,今天我写了一个应用程序,你可以通过ARGV传递参数.但在我的应用程序中,我希望能够使用"获取".问题是,每次我尝试这样做,我都会收到错误.

这是一个简单的脚本,显示我的问题:

print "Say something! "
input = gets
Run Code Online (Sandbox Code Playgroud)

如果我这样称呼:

$ ruby script.rb this is arguments
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

script.rb:2:in `gets': No such file or directory - this (Errno::ENOENT)
from script.rb:2
Run Code Online (Sandbox Code Playgroud)

希望有人能够帮我解决这个问题,所以我可以继续我的Ruby之旅.:)

编辑:我知道"获取"不会检索传递给文件的参数."获取"将查询用户输入.我希望能够在我的应用程序中使用这两种方法.

ruby

38
推荐指数
2
解决办法
4297
查看次数

有没有更好的方法可以在没有传递阻止时阻止'收益'?

我有一个产生的方法,看起来像:

def a_method(*params)
  # do something
  yield
  # do something else
end
Run Code Online (Sandbox Code Playgroud)

如果传入一个块,我希望这个方法产生块; 并且如果没有传入块,该方法应该轻易地跳过yield sentense而不会崩溃,例如:

 no block given (yield) (LocalJumpError)
Run Code Online (Sandbox Code Playgroud)

当然,最直接的方法是将方法更改为:

def a_method(*params, &block)
  # do something
  yield if block
  # do something else
end
Run Code Online (Sandbox Code Playgroud)

但是不是更漂亮的方式吗?

ruby yield block

38
推荐指数
1
解决办法
8731
查看次数

以条件方式构建哈希

我正在使用Ruby on Rails 3.0.10,我想以条件方式构建一个哈希键\值对.也就是说,如果条件匹配,我想添加一个键及其相关值:

hash = {
  :key1 => value1,
  :key2 => value2, # This key2\value2 pair should be added only 'if condition' is 'true'
  :key3 => value3,
  ...
}
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做并保持代码的"良好"可读性?我"被迫"使用这种merge方法吗?

ruby hash conditional

38
推荐指数
4
解决办法
2万
查看次数