标签: ruby

Ruby中"和"与&&的区别?

Ruby中的&&and运算符有什么区别?

ruby operators

303
推荐指数
6
解决办法
14万
查看次数

Ruby中STDIN的最佳实践?

我想处理Ruby中的命令行输入:

> cat input.txt | myprog.rb
> myprog.rb < input.txt
> myprog.rb arg1 arg2 arg3 ...
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?特别是我想处理空白STDIN,我希望有一个优雅的解决方案.

#!/usr/bin/env ruby

STDIN.read.split("\n").each do |a|
   puts a
end

ARGV.each do |b|
    puts b
end
Run Code Online (Sandbox Code Playgroud)

ruby stdin

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

在每个'when'块中具有多个值的Case语句

我可以描述我正在寻找的最好的方法是向您展示我迄今为止尝试过的失败代码:

case car
  when ['honda', 'acura'].include?(car)
    # code
  when 'toyota' || 'lexus'
    # code
end
Run Code Online (Sandbox Code Playgroud)

我有大约4或5种不同的when情况应该由大约50种不同的可能值触发car.有没有办法用case块来做这个或者我应该尝试一个大块if

ruby syntax ruby-on-rails switch-statement

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

296
推荐指数
6
解决办法
15万
查看次数

如何在Ruby中使用条件运算符(?:)?

如何? :在Ruby中使用条件运算符()?

例如,这是正确的吗?

<% question = question.size > 20 ? question.question.slice(0, 20)+"..." : question.question %>
Run Code Online (Sandbox Code Playgroud)

ruby ternary-operator conditional-operator

294
推荐指数
4
解决办法
33万
查看次数

如何运行单个RSpec测试?

我有以下文件:

/spec/controllers/groups_controller_spec.rb
Run Code Online (Sandbox Code Playgroud)

在终端中使用什么命令来运行该规范以及在哪个目录中运行命令?

我的宝石文件:

# Test ENVIRONMENT GEMS
group :development, :test do
    gem "autotest"
    gem "rspec-rails", "~> 2.4"
    gem "cucumber-rails", ">=0.3.2"
    gem "webrat", ">=0.7.2"
    gem 'factory_girl_rails'
    gem 'email_spec'
end
Run Code Online (Sandbox Code Playgroud)

规格文件:

require 'spec_helper'

describe GroupsController do
  include Devise::TestHelpers

  describe "GET yourgroups" do
    it "should be successful and return 3 items" do

      Rails.logger.info 'HAIL MARRY'

      get :yourgroups, :format => :json
      response.should be_success
      body = JSON.parse(response.body)
      body.should have(3).items # @user1 has 3 permissions to 3 groups
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

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

290
推荐指数
11
解决办法
15万
查看次数

ruby有真正的多线程吗?

我知道使用绿色线程的ruby的"合作" 线程.如何在我的应用程序中创建真正的"操作系统级"线程,以便使用多个cpu内核进行处理?

ruby concurrency multithreading

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

如何在Ubuntu上安装PostgreSQL的pg gem?

我正在尝试为Ruby安装PostgreSQL的pg gem.

我发出了以下命令:

gem install pg
Run Code Online (Sandbox Code Playgroud)

我使用RVM安装了Ruby 1.9.2.

上面的命令显示以下错误.

错误是:

Building native extensions.  This could take a while...

ERROR:  Error installing pg:

ERROR: Failed to build gem native extension.

/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby extconf.rb

checking for pg_config... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)

*** extconf.rb failed ***

Could not create Makefile due to some reason, …
Run Code Online (Sandbox Code Playgroud)

ruby postgresql pg

280
推荐指数
12
解决办法
12万
查看次数

SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败

我正在使用Authlogic-Connect进行第三方登录.运行适当的迁移后,Twitter/Google/yahoo登录似乎工作正常但Facebook登录引发异常:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Run Code Online (Sandbox Code Playgroud)

开发日志显示

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
  app/controllers/users_controller.rb:37:in `update'
Run Code Online (Sandbox Code Playgroud)

请建议..

ruby ssl ruby-on-rails authlogic facebook-graph-api

279
推荐指数
17
解决办法
25万
查看次数

铁轨上红宝石的收集路线和会员路线之间的区别?

Rails中的收集路由和成员路由有什么区别?

例如,

resources :photos do
  member do
    get :preview
  end
end
Run Code Online (Sandbox Code Playgroud)

resources :photos do
  collection do
    get :search
  end
end
Run Code Online (Sandbox Code Playgroud)

我不明白.

ruby ruby-on-rails

272
推荐指数
4
解决办法
8万
查看次数