Tag: ruby

BUG Bus Error ruby​​ 1.8.7

我在使用Xcode 4.2 GM(新MacBook)在Lion 10.7.1上使用RVM编译Ruby 1.8.7后出现错误。 它编译得很好但是当我尝试安装任何gem我得到以下内容: gem install bundler /Users/me/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/timeout.rb:60: [BUG] Bus Error ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin11.1.0] Abort trap: 6 更新 :最后我希望安装Xcode 4.2,安装了Ruby 1.8.7,1.9.x的RVM,并且一切正常。

在Ruby中重新实现ASP.NET成员资格和用户密码哈希

我有一个庞大的用户数据库(~200,000),我正在从ASP.NET应用程序转移到Ruby on Rails应用程序。 我真的不想让每个用户重置他们的密码,所以我试图在Ruby中重新实现C#密码散列函数。 旧function是这样的: public string EncodePassword(string pass, string saltBase64) { byte[] bytes = Encoding.Unicode.GetBytes(pass); byte[] src = Convert.FromBase64String(saltBase64); byte[] dst = new byte[src.Length + bytes.Length]; Buffer.BlockCopy(src, 0, dst, 0, src.Length); Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length); HashAlgorithm algorithm = HashAlgorithm.Create(“SHA1”); byte[] inArray = algorithm.ComputeHash(dst); return Convert.ToBase64String(inArray); } 示例哈希密码和salt是(并且使用的密码是“password”): 哈希密码:“weEWx4rhyPtd3kec7usysxf7kpk =”盐:“1ptFxHq7ALe7yXIQDdzQ9Q ==”密码:“密码” 现在使用以下Ruby代码: require “base64” […]

访问嵌套哈希时如何避免nil元素的NoMethodError?

如果我尝试访问不存在的哈希元素,我会得到NoMethodError: undefined method ‘[]’ for nil:NilClass 。 但是,我无法预测哪些元素会出现。 @param_info = {} @param_info[“drug”][“name”] # => NoMethodError: undefined method `[]’ for nil:NilClass 当元素意外nil时,如何避免引发此错误?

Ruby:mysql2-Gem无法正常工作(Mac OS X Snow Leopard,Ruby 1.9.2)

我刚刚编译了ruby并安装了rubygems,mysql2和rails,它运行得很好。 但每当我尝试启动rails服务器时,我都会收到以下错误消息: /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2.rb:7:in`requiret’:dlopen(/ usr / local / ruby​​ / lib / ruby /gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle,9):未加载库:libmysqlclient.18.dylib(LoadError)引用自:/ usr / local / ruby​​ / lib / ruby / gems / 1.9.1 / gems / mysql2-0.2.6 / lib / mysql2 / mysql2.bundle原因:找不到图像 – /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql2- 0.2 / lib / mysql2 / mysql2.bundle来自/usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2.rb:7:in`’from / usr / local / ruby​​ / lib / ruby​​ […]

厨师图书馆或定义?

作为Chef的新手,我需要从现有的配方中创建库或定义。 配方使用bash资源,ruby块资源(通过延迟计时通知另一个ruby块资源),再次通知ruby块等的模板资源。 最好的办法是什么? 图书馆或定义? 我已经读过,如果我使用定义,我将无法通知定义中的资源,这是否意味着我可以在不同的定义文件中通知资源? 我还读到,在库中你不能直接使用资源。 如果是这样,我如何在我的库中使用资源?

什么是一些优秀的基于Ruby的Web爬虫?

我正在寻找自己的写作,但我想知道是否有任何用Ruby编写的好的网络爬虫。 如果没有一个完整的网络爬虫,任何可能有助于构建网络爬虫的gem都会很有用。 我知道这个问题的一部分在几个地方都有提及,但适用于构建网络爬虫的gem列表也是一个很好的资源。

无法安装mysql2 gem

我无法在我的Windows7 x64系统中安装mysql2 gem。 我尝试使用32位和64位版本的MySQL服务器,但没有一个让我更进一步。 我安装了Ruby 1.8,开发工具包和Rails平台。 我甚至安装了minGW来允许C ++ / C编译。 MySQL Server安装在默认位置。 运行命令时: C:\Users\Arne>gem install mysql2 — –with-mysql-include=”C:\Program Files (x86)\MySQL\MySQL Server 5.1\include” –with-mysql-lib=”C:\Program Files (x86)\MySQL\MySQL Server 5.1\lib\” 我从控制台收到以下输出: Temporarily enhancing PATH to include DevKit… Building native extensions. This could take a while… *** extconf.rb failed *** Could not create Makefile due to some reason, probably […]

如何在Rails 3中生成带尾部斜杠的链接?

我将现有的网站从PHP移植到Ruby on Rails 3,我必须保持url不变。 我有路线: get ‘companies/’ => ‘companies#index’, :as => :companies 在视图文件中我有: link_to ‘Companies’, companies_path 这会生成URL“http://website.com/companies”而不是“http://website.com/companies/”。 我希望url末尾有斜杠。 可能吗?

在Mountain Lion上安装Ruby的问题 – ruby​​ 1.9.3不会编译

我之前看过很多关于此的post,并且已经遵循了他们的指示,但没有任何工作。 我将在下面概述我所做的事情,以及我所遵循的指示 – 对任何建议都会感激不尽! 我遵循了以下安装说明: http : //pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac 我已经下载了OSX Mountain Lion的X-code,并安装了gcc编译器: $ gcc –version i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A […]

什么时候在Ruby中使用’self’

这个方法: def format_stations_and_date from_station.titelize! if from_station.respond_to?(:titleize!) to_station.titleize! if to_station.respond_to?(:titleize!) if date.respond_to?(:to_date) date = date.to_date end end 当date为nil时失败并显示此错误: NoMethodError (You have a nil object when you didn’t expect it! The error occurred while evaluating nil.to_date): app/models/schedule.rb:87:in `format_stations_and_date’ app/controllers/schedules_controller.rb:15:in `show’ 但是,如果我将date = date.to_date更改为self.date = self.date.to_date ,则该方法可以正常工作。 这是怎么回事? 一般来说,我什么时候写self ? 编辑:这与问题无关,但请注意,没有“标题!” 方法。