试图访问我的ruby项目 – 与mysql有关的LoadError

我正在尝试访问我的第一个ruby项目。 导航到正确的目录并键入: $ rails服务器 我收到以下错误消息: /Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2.rb:7:in require’: dlopen(/Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) Referenced from: /Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle Reason: image not found – /Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle from /Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2.rb:7:in require’: dlopen(/Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) Referenced from: /Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle Reason: image not found – /Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle from /Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2.rb:7:in require’: dlopen(/Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) Referenced from: /Users/Rozey/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle […]

Ruby按列对.dat文件进行排序

我对ruby很新。 我正在尝试打开文件.dat并按第二列降序排序。 到目前为止,我能够打开文件阅读全部内容。 请问有什么建议? 非常感谢。 文件: 1 88 59 74 53.8 0.00 280 9.6 270 17 1.6 93 23 1004.5 2 79 63 71 46.5 0.00 330 8.7 340 23 3.3 70 28 1004.5 3 77 55 66 39.6 0.00 350 5.0 350 9 2.8 59 24 1016.8 4 77 59 68 51.1 0.00 110 […]

Rails:无法加载UTF8Handler的Unicode表

我正在使用新的Ubuntu 17.10机器,安装了RVM的Ruby 2.2.3,我正在尝试运行Rails 4.2应用程序。 在rails s命令之后,我得到: davide@davidell:~/app/app-backend$ rails s Array values in the parameter to `Gem.paths=` are deprecated. Please use a String or nil. An Array ({“GEM_PATH”=>[“/home/davide/.rvm/gems/ruby-2.2.3@app”, “/home/davide/.rvm/gems/ruby-2.2.3@global”]}) was passed in from bin/rails:3:in `load’ => Booting Puma => Rails 4.2.4 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options […]

虾+俄罗斯字体

我有一个Rails应用程序,我在那里使用Prawn gem。 我需要用它来生成带俄语字母的pdf(事实上混合了俄语和英语单词)。 我做了一项研究,发现前一段时间它相当棘手。 那现在怎么样,我该怎么做? def about respond_to do |format| format.html format.pdf do pdf = Prawn::Document.new pdf.text “не ну ни фига sebe” send_data pdf.render end end end

学习Ruby Hard Way ex。 48

我正在努力学习Ruby,并且通过Zed Shaw的大部分学习Ruby Ruby the Hard Way,但是这个最新的练习让我完全难过。 这是一种反向练习,让你创建一个可以通过提供的代码进行测试的类Lexicon。 您应该创建Lexicon,以便它可以通过用户输入并从中获取各种数据。 到目前为止我所有的测试方向输入,例如: class Lexicon Pair = Struct.new(:qualifier, :value) userinput = gets.chomp() userwords = userinput.split() for i in userwords if userwords[i].include?(“north”, “south”, “east”, “west”) directions = Pair.new(“direction”, userwords[i]) else i++ end end end 相应的测试代码是: require ‘test/unit’ require_relative “../lib/lexicon” class LexiconTests < Test::Unit::TestCase Pair = Lexicon::Pair @@lexicon = Lexicon.new() def […]

Heroku上的预编译失败,initialize_on_precompile设置为false

我有一个应用程序,我正在尝试部署到Heroku的雪松堆栈。 在部署的预编译阶段,我收到错误: Your bundle is complete! It was installed into ./vendor/bundle Cleaning up the bundler cache. —–> Writing config/database.yml to read from DATABASE_URL —–> Preparing app for Rails asset pipeline Running: rake assets:precompile rake aborted! could not connect to server: Connection refused Is the server running on host “127.0.0.1” and accepting TCP/IP connections on port […]

Ruby:对象深度复制

我正在研究一些在Ruby中深度复制对象的技术(MRI 1.9.3)。 我遇到了以下示例,但我不确定#dup方法的实现。 我测试了它并且它确实有效,但是我不理解该方法的逻辑步骤,因此我在自己的代码中使用它并不舒服。 语句@name = @name.dup是指副本中的iVar吗? 怎么样? 我看不到它。 请问有人解释一下吗? 还有,有更好的方法吗? class MyClass attr_accessor :name def initialize(arg_str) # called on MyClass.new(“string”) @name = arg_str # initialize an instance variable end def dup the_copy = super # shallow copy calling Object.dup @name = @name.dup # new copy of istance variable return the_copy # return the copied […]

从模块中访问包含类的命名空间

我正在研究一个模块,除其他外,它将为你混合它的类添加一些通用的’finder’类型function。 问题:出于方便和美观的原因,我想在类之外包含一些function,与类本身在同一范围内。 例如: class User include MyMagicMixin end # Should automagically enable: User.name(‘Bob’) # Returns first user named Bob Users.name(‘Bob’) # Returns ALL users named Bob User(5) # Returns the user with an ID of 5 Users # Returns all users 我可以在这些方法中做function,没问题。 案例1( User.name(‘Bob’) )很简单。 但是,案例2-4需要能够在User之外创建新的类和方法。 Module.included方法允许我访问该类,但不允许访问其包含的范围。 在Class和Module上没有简单的“父”类型方法。 (对于命名空间,我的意思是,不是超类,也不是嵌套模块。) 我能想到的最好方法是在类的#name上进行一些字符串解析,以打破其命名空间,然后将字符串转换回常量。 但这看起来很笨拙,鉴于这是Ruby,我觉得应该有更优雅的方式。 有没有人有想法? 或者我只是为了自己的利益而过于聪明?

Ruby:Rails:使用哪个版本的gem?

我有一个Rails 3应用程序,它在Gemfile中有以下行。 gem ‘sqlite3’, ‘1.3.6’ 但是,如果我列出我的本地gem,我得到: > gem list sqlite3 –local *** LOCAL GEMS *** sqlite3 (1.3.6, 1.3.4) 当我的Rails应用程序执行时 require ‘sqlite3’ 选择了哪个版本的gem? 是否选择了列表中的第一个gem? 有没有办法告诉Ruby运行时使用版本1.3.4,即使安装了1.3.6版本,并且Gemfile强制要求?

为什么每个方法都需要将循环的值赋给变量?

在Rails上工作,发现我对each方法的理解缺乏知识。 不确定为什么each方法都需要变量|message|