标签: ruby

在Ruby on Rails中获取主机名或IP

我正在维护Ruby on Rails应用程序,我正在寻找一种简单的方法来查找我所在的盒子的主机名或IP地址(因为它是一个VM,新实例可能有不同的主机名或IP地址) .在Ruby on Rails中有一种快速简便的方法吗?

编辑:下面的答案是正确的,但克雷格提供的澄清是有用的(参见答案中提供的链接):

[下面]代码不会建立连接或发送任何数据包(到64.233.187.99,这是谷歌).由于UDP是无状态协议,因此connect()仅进行系统调用,该系统调用根据地址和应绑定的接口(以及IP地址)来确定如何路由数据包.addr()返回一个数组,其中包含套接字的系列(AF_INET),本地端口和本地地址(我们想要的).

ruby networking

77
推荐指数
6
解决办法
9万
查看次数

如何在Ruby中初始化模块的实例变量?

我有一些模块,我想在其中使用实例变量.我目前正在初始化它们:

module MyModule
  def self.method_a(param)
    @var ||= 0
    # other logic goes here
  end
end
Run Code Online (Sandbox Code Playgroud)

我也可以调用init方法来初始化它们:

def init
  @var = 0
end
Run Code Online (Sandbox Code Playgroud)

但这意味着我必须记住要经常打电话给它.

有没有更好的方法呢?

ruby module instance-variables

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

如何检查值是否为数字?

我想简单地检查表单文本字段中的返回值是否为数字,即:12,12.5或12.75.有没有一种简单的方法可以检查这一点,特别是如果将值拉为param

ruby ruby-on-rails

77
推荐指数
7
解决办法
8万
查看次数

rails - 将控制台输出重定向到文件

在bash控制台上,如果我这样做:

cd mydir
ls -l > mydir.txt
Run Code Online (Sandbox Code Playgroud)

>运算符捕获标准输入并将其重定向到文件; 所以我得到的文件列表mydir.txt而不是标准输出.

有没有办法在rails控制台上做类似的事情?

我有一个ruby语句,可以生成大量的打印件(~8k行),我希望能够完全看到它,但是控制台只能"记住"最后的1024行左右.所以我想重定向到一个文件 - 如果有人知道一个更好的选择,我都是耳朵.

ruby console ruby-on-rails file

77
推荐指数
3
解决办法
5万
查看次数

Ruby中的一个内核用于显示提示,获取输入和分配给变量?

我经常发现自己在做以下事情:

print "Input text: "
input = gets.strip
Run Code Online (Sandbox Code Playgroud)

有一种优雅的方式在一行中做到这一点吗?就像是:

puts "Input text: #{input = gets.strip}"
Run Code Online (Sandbox Code Playgroud)

这样做的问题是它在显示提示之前等待输入.有任何想法吗?

ruby input

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

负载如何与Ruby中的require不同?

Ruby on Rails应用程序之间load和之间有什么主要区别require吗?或者它们都具有相同的功能?

ruby ruby-on-rails

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

什么是Ruby 1.9标准CSV库?

当我在我的应用程序上尝试FasterCSV gem时,我收到此错误:

Please switch to Ruby 1.9's standard
CSV library.  It's FasterCSV plus
support for Ruby 1.9's m17n encoding
engine.
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我使用的是Rails 3,Ruby 1.9.2和Rubygems 1.4.

有人可以向我解释如何使用Ruby 1.9的标准CSV库.我完全没有任何想法,因为我对Rails很新.

ruby csv fastercsv

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

连接Rails 3.1与多个数据库

在ShowNearby,我们一直在从PHP迁移到RoR 3.1,我们面临着一些问题,可能是你们之前已经解决过的问题.

我们有大量数据,我们决定将数据库分成几个可以单独处理的数据库.例如,我们的帐户,地点,日志和其他帐户被拆分为多个数据库

我们需要让迁移,固定装置,模型,以及良好的发挥,到目前为止它已经相当混乱.我们对解决方案的一些要求是可以接受的:

  • 一个模型应该与一个数据库中的一个表相关.
  • rake db:drop - 应该删除我们在database.yml中指定的所有数据库env
  • rake db:create - 应该创建我们在database.yml中指定的所有数据库环境
  • rake db:migrate - 应该运行迁移到各种数据库
  • rake db:test - 应该抓住fixture并将它们放入各种数据库和测试单元/功能/等

我们正在考虑为每个数据库设置单独的rails项目并将它们与ActiveResource连接,但我们认为这不是非常有效.你们之前有没有遇到过类似的问题?

非常感谢!!

ruby ruby-on-rails activeresource ruby-on-rails-3 rails-activerecord

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

Ruby Gemspec依赖:可能有git分支依赖吗?

可能有一个git分支依赖,在mygem.gemspec里面?

我在想类似以下内容:

gem.add_runtime_dependency 'oauth2', :git => 'git@github.com:lgs/oauth2.git'
Run Code Online (Sandbox Code Playgroud)

......但它不起作用.

ruby dependencies rubygems bundler gemspecs

77
推荐指数
3
解决办法
4万
查看次数

如何将单个列的值放入数组中

现在我正在做这样的事情来选择一列数据:

points = Post.find_by_sql("select point from posts")
Run Code Online (Sandbox Code Playgroud)

然后将它们传递给方法,我希望我的方法保持不可知,现在必须从我的方法中调用hash.point.如何快速将其转换为数组并将数据集传递给我的方法,还是有更好的方法?

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

77
推荐指数
3
解决办法
7万
查看次数