0

docusign gem と依存する soap4r gem を github (git://github.com/felipec/soap4r.git) 経由でインストールした後、サーバーを実行しようとするとこの問題が発生します。

user$ rails s
/Users/user/.rvm/gems/ruby-1.9.3-p125/bundler/gems/soap4r-5372d16ab9a9/lib/xsd/charset.rb:13: warning: variable $KCODE is no longer effective
/Users/user/.rvm/gems/ruby-1.9.3-p125/bundler/gems/soap4r-5372d16ab9a9/lib/soap/property.rb:68: warning: encoding option is ignored - u
/Users/user/.rvm/gems/ruby-1.9.3-p125/bundler/gems/soap4r-5372d16ab9a9/lib/soap/property.rb:69: warning: encoding option is ignored - u
/Users/user/.rvm/gems/ruby-1.9.3-p125/bundler/gems/soap4r-5372d16ab9a9/lib/soap/property.rb:70: warning: encoding option is ignored - u
/Users/user/.rvm/gems/ruby-1.9.3-p125/gems/docusign-0.8.0/lib/docusign/request_recipient_token_client_urls.rb:5:in `block in <class:RequestRecipientTokenClientURLs>': undefined method `gsub' for :onSigningComplete:Symbol (NoMethodError)
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/docusign-0.8.0/lib/docusign/request_recipient_token_client_urls.rb:5:in `map'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/docusign-0.8.0/lib/docusign/request_recipient_token_client_urls.rb:5:in `<class:RequestRecipientTokenClientURLs>'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/docusign-0.8.0/lib/docusign/request_recipient_token_client_urls.rb:2:in `<module:Docusign>'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/docusign-0.8.0/lib/docusign/request_recipient_token_client_urls.rb:1:in `<top (required)>'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `block in require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/docusign-0.8.0/lib/docusign.rb:36:in `<top (required)>'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:68:in `require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:66:in `each'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:66:in `block in require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `each'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler.rb:119:in `require'
    from /Users/user/Documents/Aptana Studio 3 Workspace/reaslo/config/application.rb:7:in `<top (required)>'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.1/lib/rails/commands.rb:53:in `require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.1/lib/rails/commands.rb:53:in `block in <top (required)>'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.1/lib/rails/commands.rb:50:in `tap'
    from /Users/user/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.1/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>

調べた

request_recipient_token_client_urls.rb

しかし、見つかっただけ

CALLBACKS = instance_methods.select { |m| m =~ /^on/ }.reject { |m| m =~ /=/ }.map { |m| m.gsub(/^on/, '').アンダースコア}

ここで何が問題なのかわかりません。ruby 1.9 と互換性のある github バージョンを介してインストールする必要があったため、soap4r に問題があるとしか思えません。

4

1 に答える 1

0

そのコード スニペットは正しくありません。gsubによって返されるメソッド名の 1 つを呼び出そうとしてinstance_methodsいますが、これは文字列ではなくシンボルです。ここでは、git のツリーのトップが安定していないと推測しています。

于 2012-05-04T01:25:20.510 に答える