标签: ruby

C# ??Ruby中的运算符?

有可能实现?? ?? Ruby中的运算符?

a = nil
b = 1

x = a ?? b # x should == 1
x = b ?? 2 # x should == 1
Run Code Online (Sandbox Code Playgroud)

ruby operators null-coalescing-operator

36
推荐指数
3
解决办法
7485
查看次数

是否有类似于Ruby的Sinatra的.NET框架?

有没有人知道是否有类似于Ruby的Sinatra的.NET库/ API ?

只是想知道自从ASP.NET MVC,WCF和.NET 3.5中的新路由API以来,它似乎是一种可能性.

.net ruby frameworks sinatra

36
推荐指数
3
解决办法
7505
查看次数

Ruby - net/http - 重定向

我有一个URL,我正在使用HTTP GET将查询传递到页面.最新的味道(in net/http)会发生什么,该脚本不会超出302响应.我尝试了几种不同的解决方案; HTTPClient,net/http,Rest-Client,Patron ......

我需要一种方法来继续到最后一页,以验证页面html上的属性标记.重定向是由于移动用户代理点击重定向到移动视图的页面,因此标题中的移动用户代理.这是我今天的代码:

require 'uri'
require 'net/http'

class Check_Get_Page

    def more_http
        url = URI.parse('my_url')
        req, data = Net::HTTP::Get.new(url.path, {
        'User-Agent' => 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5'
        })
        res = Net::HTTP.start(url.host, url.port) {|http|
        http.request(req)
            }
        cookie = res.response['set-cookie']
        puts 'Body = ' + res.body
        puts 'Message = ' + res.message
        puts 'Code = ' + res.code
        puts "Cookie \n" + cookie
    end

end …
Run Code Online (Sandbox Code Playgroud)

ruby curl httpclient http-headers net-http

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

如何对这个哈希数组进行分组?

我有这个哈希数组:

- :name: Ben
  :age: 18
- :name: David
  :age: 19
- :name: Sam
  :age: 18
Run Code Online (Sandbox Code Playgroud)

我需要将它们分组age,所以它们最终会像这样:

18:
- :name: Ben
  :age: 18
- :name: Sam
  :age: 18
19:
- :name: David
  :age: 19
Run Code Online (Sandbox Code Playgroud)

我试过这样做:

array = array.group_by &:age
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

NoMethodError (undefined method `age' for {:name=>"Ben", :age=>18}:Hash):
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我正在使用Rails 3.0.1和Ruby 1.9.2

ruby group-by ruby-on-rails ruby-on-rails-3

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

将数据从SQL Server Express导出为CSV(需要引用和转义)

我花了两天的时间尝试从SQL服务器安装中导出包含用户输入数据的大文本字段的75,000行表.此数据包含每个简单的ascii字符,制表符和换行符.我需要导出引用每个字段的CSV,并且引用列中的引号被正确转义("").

以下是我到目前为止所尝试的内容: - 从Management Studio右键单击数据库并导出到Excel:由于字段太长而失败. - 数据从Management Studio导出到平面文件,带有"文本分隔符和逗号分隔 - 完全无用,不会在字段内转义,使文件完全不明确. - 命令行中的BCP - 也不支持引用字段.

我需要使用FasterCSV ruby​​库导入.它不允许引号分隔符是非标准的ascii字符或多个字符.它也不允许\n或\ r在未加引号的列中.

任何帮助是极大的赞赏.

ruby sql sql-server csv export

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

如何使用Capistrano gem种植生产数据库?

我正在使用Ruby on Rails 3.0.9并且我希望播种生产数据库以便添加一些记录而无需重新构建所有数据库(即,不删除所有现有记录但只添加一些尚未存在的记录) .我想这样做是因为需要新数据才能使应用程序正常工作.

因此,由于我正在使用Capistrano gem,我cap -T在控制台中运行命令以列出所有可用命令并知道如何实现我的目标:

$ cap -T
=> ...
=> cap deploy:seed          # Reload the database with seed data.
=> ...
Run Code Online (Sandbox Code Playgroud)

我不确定"使用种子数据重新加载数据库"中出现的"重新加载"这个词.句子.所以,我的问题是:如果我cap deploy:seed在本地机器上的控制台中运行命令,播种过程将删除生产数据库中的所有现有数据,然后填充它,或者该命令只是在我想要的数据库中添加新数据做?

ruby capistrano ruby-on-rails seed ruby-on-rails-3

36
推荐指数
6
解决办法
3万
查看次数

有没有办法在Rails 3.1中检测用户代理

可能重复:
自动检测移动浏览器(通过用户代理?)
Rails 3:HTTP_USER_AGENT

有没有办法从当前访问者检测用户代理?我目前正在开展一个显示视频文件的项目.但对于ipad,iphone/samsung galaxy tab/internet explorer/firefox.我需要显示视频是否有一个可靠的方法来检查哪个浏览器访问我的rails应用程序?

多谢你们!

ruby browser user-agent ruby-on-rails

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

Ruby - ActiveRecord :: ConnectionNotEstablished

我是Ruby的新手,并且一直关注着"Ruby On Rails 3 Tutorial - Learn Ruby by Example - Michael Hartl"一书.我目前在第3章讨论静态页面.

在本章中,我在提示符中输入了以下命令:rails generate controller Pages home contact一切正常.

然后这本书指引我http://localhost:3000/pages/home.当我将浏览器指向那里时,我收到以下错误.

ActiveRecord::ConnectionNotEstablished

ActiveRecord::ConnectionNotEstablished
Rails.root: /home/ralph/railsprojects/sample_app

Application Trace | Framework Trace | Full Trace

路由和控制器erb似乎没有任何错误.这是数据库相关的错误吗?有任何想法吗?

谢谢,DMAT

更新:

这是我的database.yml文件中的代码.

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

Ruby将字符串转换为方法名称

我在ruby文件中定义了两个方法.

def is_mandatory(string)
      puts xyz
end
def is_alphabets(string)
      puts abc 
end 
Run Code Online (Sandbox Code Playgroud)

包含方法名称的数组.

    methods = ["is_mandatory", "is_alphabets"]
Run Code Online (Sandbox Code Playgroud)

当我做以下

    methods.each do |method| puts method.concat("(\"abc\")") end 
Run Code Online (Sandbox Code Playgroud)

它只显示is_mandatory("abc")is_alphabets("abc")而不是实际调用该方法.

如何将字符串转换为方法名称?任何帮助是极大的赞赏.

干杯!!

ruby methods

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

杰基尔 - 没找到命令

我想让Jekyll运行但我没有使用Ruby的经验.
据我所知,Jekyll的安装成功了.
然而:

$ jekyll
Run Code Online (Sandbox Code Playgroud)

给出错误:

-bash: jekyll: command not found
Run Code Online (Sandbox Code Playgroud)

这是gem env结果:

  - RUBYGEMS VERSION: 1.3.4
  - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]
  - INSTALLATION DIRECTORY: /Volumes/HDD/DADU/gems
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /Volumes/HDD/DADU/gems/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-10
  - GEM PATHS:
     - /Volumes/HDD/DADU/gems
     - /Volumes/HDD/DADU/.gem/ruby/1.8
     - /Library/Ruby/Gems/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold …
Run Code Online (Sandbox Code Playgroud)

ruby bash jekyll

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