Active_support / dependencies.rb:247`require’:无法加载此类文件 – 2.1 / pg_ext(LoadError)

我在Windows机器上使用Ruby 2.1.5,Rails 4.1.6和PostgreSQL 9.3.5。 当我尝试bundle exec rails server ,我最终得到以下错误: DL is deprecated, please use Fiddle c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require’: cannot load such file — 2.1/pg_ext (LoadError) from c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `block in re…re’ from c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependancy’ from c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require’ from c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/pg-0.17.1-x86-mingw32/lib/pg.rb:10:in `rescue in ‘ from c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/pg-0.17.1-x86-mingw32/lib/pg.rb:3:in `’ from c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/bundler-1.7.7/lib/bundler/runtime.rb:76:in `require’ from c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/bundler-1.7.7/lib/bundler/runtime.rb:76:in `block (2 levels) in require’ from c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/bundler-1.7.7/lib/bundler/runtime.rb:72:in […]

Active Directory LDAP将用户移动到不同的OU – Ruby

我在与Active Directory的集成方面遇到了麻烦。 我需要能够将用户从一个OU移动到另一个OU。 我正在使用net-ldap 0.5.0,它位于github master分支上,并在源代码中挖出来,发现你可以做到这一点 $ldap.rename( olddn: “cn=bradford ricechip,ou=agents,ou=ihs,ou=test environment,dc=ctatechs,dc=com”, newrdn: “cn=bradford ricechip”, new_superior: “ou=coach,ou=ihs,ou=test environment,dc=ctatechs,dc=com” ) 我得到: # 。 我想我不明白如何删除旧的RDN然后将用户移动到新的OU。 这是我唯一的问题。 如果我需要提供任何其他信息,请告诉我。 在此先感谢您的帮助!

json(/ hash)到ruby对象?

在Javascript中,您可以将json作为对象访问。 person = { name: { first: “Peter”, last: “Parker” } } person.name.first 在ruby中我必须像这样使用它: person[:name][:first] 是否可以像javascript一样访问json(和hash)作为对象?

使用Ransack’eq’谓词搜索空值

使用带有空值的’eq’谓词,Ransack将取消该谓词。 在您的选择中选择“全部”选项显然很方便。 但是,如果我想在我的为空值添加一个选项呢? 顺序说明如何使用’eq’谓词生成SQL查询SELECT * FROM spree_orders WHERE order_cycle_id = NULL 。 我的测试代码(带结果)如下。 我想要的是过滤掉Order ,其中order_cycle_id == nil Spree::Order.search(order_cycle_id_eq: nil).result.map(&:order_cycle_id) Spree::Order Load (2.2ms) SELECT “spree_orders”.* FROM “spree_orders” => [nil, 1, nil, nil, nil, nil, nil, nil, 1, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, 4, nil, […]

无法在Mac OS X 10.8.4上安装json 1.8 gem

我正在尝试在第二台计算机上安装我的rails应用程序。 但是当我运行bundle install我得到了json gem的错误: Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/feuerball/.rvm/rubies/ruby-2.0.0-p195/bin/ruby extconf.rb /Users/feuerball/.rvm/rubies/ruby-2.0.0-p195/bin/ruby: invalid option -D (-h will show valid options) (RuntimeError) Gem files will remain installed in /Users/feuerball/.rvm/gems/ruby-2.0.0-p195/gems/json-1.8.0 for inspection. Results logged to /Users/feuerball/.rvm/gems/ruby-2.0.0-p195/gems/json-1.8.0/ext/json/ext/generator/gem_make.out An error occurred while installing json (1.8.0), and Bundler cannot continue. Make sure that `gem install json -v […]

## 的未定义方法`posts_path’:0x007fe3546d58f0>

我是rails的新手,我收到了这个错误: undefined method `posts_path’ for #<#:0x007fe3546d58f0> 我在下面发布了我的文件,请记住我是rails的新手,所以简单的解释会非常感激! Route.rb: Rails.application.routes.draw do get ‘/post’ => ‘post#index’ get ‘/post/new’ => ‘post#new’ post ‘post’ => ‘post#create’ end post_controller.rb: class PostController < ApplicationController def index @post = Post.all end def new @post = Post.new end def create @post = Post.new(post_params) if @post.save redirect_to '/post' else render 'new' end end private […]

有没有办法检查数组中的哈希是否包含ruby中类似的键值对?

例如,我有 array = [ {name: ‘robert’, nationality: ‘asian’, age: 10}, {name: ‘robert’, nationality: ‘asian’, age: 5}, {name: ‘sira’, nationality: ‘african’, age: 15} ] 我希望得到结果 array = [ {name: ‘robert’, nationality: ‘asian’, age: 15}, {name: ‘sira’, nationality: ‘african’, age: 15} ] 因为有2个罗伯特具有相同的国籍。 任何帮助将非常感激。 我试过Array.uniq! {|e| e[:name] && e[:nationality] } Array.uniq! {|e| e[:name] && e[:nationality] } Array.uniq! […]

Rubyunit testing技术,Mocking和Stubbing

我被招募为SW Dev,我正在尝试使用RSPEC和RR进行unit testing,但是很难决定特定策略,主要是因为我被分配给已经编码的unit testing书面。 考虑以下代码,它是一个名为method1的大方法的一部分: if ([“5234541252”, “6236253223”].include?(self.id)) self.DoCheck logs.add ‘Doing check’, “id = #{self.id}” return end 这部分方法的相关unit testing将是这样的: “should do check only if id = 5234541252 or 6236253223” 但我遇到了几个问题,基本上涉及最佳实践,例如: 如何使用RR和RSPEC检查是否已从“method1”中调用DoCheck? 我尝试过使用dont_allow(Object).DoCheck但是它不起作用。 describe :do_route do it “should do check only if id = 5234541252 or 6236253223” do user = Factory(:User) user.id = “5234541252” dont_allow(user).DoCheck user.method1 […]

如何从method_missing获取绑定?

我试图在Ruby(1.8)中的method_missing中找到一种从调用者获取绑定的方法,但我似乎无法找到一种方法来实现它。 希望以下代码解释我想要做的事情: class A def some_method x = 123 nonexistent_method end def method_missing(method, *args, &block) b = caller_binding # <—- Is this possible? eval "puts x", b end end A.new.some_method # expected output: # 123 那么…有没有办法获得调用者的绑定,或者这在Ruby(1.8)中是不可能的?

AWS框上的Unicorn工作人员超时

我正在尝试在AWS盒子上设置一个Unicorn,但是工作人员只是保持计时,我不知道为什么。 我正在使用Ubuntu Server 14.04 LTS AMI,安装标准Ruby on Rails安装所需的一切。 使用rails new,我生成一个空的应用程序,第一次尝试访问它似乎很快,但在此之后,工作人员只是持续超时并永远服务于网页。 加载标准WEBrick服务器没有这个问题,几乎立即加载页面。 我试过回滚几个版本的ruby和独角兽没有运气。 VM中本地不会发生此行为。 以下是在调试模式下运行的服务器的日志 我,[2014-11-04T18:30:13.290599#17134]信息 – :收听addr = 0.0.0.0:5000 fd = 10 I,[2014-11-04T18:30:13.362993#17134]信息 – :主过程就绪 I,[2014-11-04T18:30:13.363098#17137] INFO – :worker = 0 ready I,[2014-11-04T18:30:13.365175#17140] INFO – :worker = 1 ready I,[2014-11-04T18:30:13.365314#17142] INFO – :worker = 2 ready /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:443中的exception’LoadError’ – 无法加载此类文件 – rails / application_helper.rb /var/lib/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/dependencies.rb:352中的exception’LoadError’ – […]