草庐IT

ruby-on-rails - Rails 安装失败 : activesupport requires Ruby version >= 2. 2.2

我想创建一个新的Rails应用程序。我将rvm与ruby​​-2.1.2一起使用。我正在使用@globalgemset并计划使用bundler来管理gem依赖项。但是,geminstallrails失败了:$geminstallrailsFetching:concurrent-ruby-1.0.3.pre3.gem(100%)Successfullyinstalledconcurrent-ruby-1.0.3.pre3Fetching:minitest-5.9.0.gem(100%)Successfullyinstalledminitest-5.9.0Fetching:thread_s

ruby - Bundler:如何在没有导轨的情况下使用?

我有一个在Rails之外使用Cucumber的项目。如何使用我的gemfile中指定的版本加载gem? 最佳答案 挖掘theBundlerwebsite:创建Gemfile(运行bundleinit以创建骨架Gemfile)bundle安装在您的应用中:#Onlyneededforruby1.8.xrequire'rubygems'#Thepartthatactivatesbundlerinyourapprequire'bundler/setup'#requireyourgemsasusualrequire'some_gem'#..

ruby - 为什么 relative_require 在 Ruby 1.8.6 上不起作用?

我正在Windows7上学习Ruby(使用版本1.8.6)。当我尝试运行下面的stock_stats.rb程序时,出现以下错误:C:\Users\Will\Desktop\ruby>rubystock_stats.rbstock_stats.rb:1:undefinedmethod`require_relative'formain:Object(NoMethodError)我有三个v.small代码文件:stock_stats.rbrequire_relative'csv_reader'reader=CsvReader.newARGV.eachdo|csv_file_name|STDE

ruby - 需要文件而不执行代码?

这里我有两个文件:文件.rbdefmethodputs"Thiswon'tbeoutputted."endputs"Thiswillbeoutputted."主.rbrequire"./file"当运行main.rb时,它会加载file.rb中的所有代码,所以我会得到“这将被输出”。在屏幕上。是否可以在不运行代码的情况下加载文件?因为我想加载所有方法(也在模块和类中)而不必在这些范围之外执行代码。 最佳答案 Isitpossibletoloadafilewithouthavingittorunthecode?不,ruby文件中的所有

Ruby:如何从当前工作目录中获取 "require"文件?

我如何从当前文件夹中获取文件?我有一个名为sql_parser.rb的文件,其中包含一个类。我想将它包含在同一文件夹中的另一个文件中,所以我使用了:require'sql_parser'当我从该文件夹运行时失败:LoadError:nosuchfiletoload--sql_parser我尝试在该文件所在的文件夹中使用IRB并从那里请求它,但遇到了同样的问题。 最佳答案 在ruby​​1.9.x中,您可以使用require_relative方法。参见http://www.ruby-doc.org/core-1.9.3/Kernel.

ruby - 在 ruby​​ 中检查空格的最简单方法

所以我在ruby​​中知道x.nil?将测试x是否为空。测试x是否等于''、''(两个空格)或''(三个空格)等的最简单方法是什么?基本上,我想知道测试变量是否全是空格的最佳方法是什么? 最佳答案 如果您使用的是Rails,您可以简单地使用:x.blank?当x为nil时调用是安全的,如果x为nil或全为空白则返回true。如果您不使用Rails,您可以从activesupportgem获得它。使用geminstallactivesupport安装。在您的文件中,要么require'active_support/core_ext获取

ruby - Sinatra 即时配置环境

我已经成功地编写了一个小的Sinatra应用程序,并且已经成功地将它部署在了heroku上。但是我想在我的本地计算机上以开发模式运行该应用程序,并且我希望在将它推送到远程存储库后在heroku上以生产模式运行它。目前我可以实现这些选项中的任何一个。当我将config.ru更改为以下值时:require'rubygems'require'sinatra'require'sinatra/reloader'require"./calc.rb"enable:loggingset:environment,:developmentset:port,4567我可以通过rubyconfig.ru在本地

Ruby 需要 'file' 和相对位置

所以我正在编写一些rspec测试,我为自己缺乏对Ruby的理解而感到尴尬。我的文件结构如下所示:GUI_Tests/Tests/test_spec.rbGUI_Tests/windows_gui.rbGUI_Tests/upload_tool.rb当我为test_spec.rb文件运行规范时,我需要像这样包含upload_tool文件:spec-r../upload_tool-fstest_spec.rb然后,upload_tool需要windows_gui.rb,如下所示:require'../windows_gui'我的问题是,为什么我必须相对于test_spec.rb(需要../

ruby - 动态需要文件?

有没有人足够了解Ruby的require来告诉我以下语法是否有效:classSomethingdefinitialize(mode)casemodewhen:onethenrequire'some_gem'when:twothenrequire'other_gem'endendends=Something.new如果是这样,需要将gem放入全局命名空间,就像在文件顶部时一样? 最佳答案 Ifso,wouldtherequireplacethegemintotheglobalnamespaceasthesamerequireatthe

ruby-on-rails - RAILS_ROOT 要求?

我正在尝试访问位于/lib目录中的文件中的RAILS_ROOT常量,但我无法访问(未初始化的常量错误)。我需要做些什么才能做到这一点吗? 最佳答案 是的,你应该需要environment.rb:requireFile.dirname(__FILE__)+'/../config/environment.rb'putsRAILS_ROOT和Rails.root代替。 关于ruby-on-rails-RAILS_ROOT要求?,我们在StackOverflow上找到一个类似的问题: