Ruby on rails `<;模块:类型>';:未定义的方法`/';对于#<;字符串:0x007fd44c8f5318>;(NoMethodError)数据映射器
我在尝试运行RSpec时收到此错误。我刚刚在我的应用程序上设置了DataMapper,我收到了这个错误。我一直试图自己调试它,但我不明白stacktrace以及它将我带到哪里 我已经安装了DataMapper gem,我在app.rb和peep.rb中需要它。我还设置了postgres服务器和数据库Ruby on rails `<;模块:类型>';:未定义的方法`/';对于#<;字符串:0x007fd44c8f5318>;(NoMethodError)数据映射器,ruby-on-rails,ruby,sinatra,datamapper,Ruby On Rails,Ruby,Sinatra,Datamapper,我在尝试运行RSpec时收到此错误。我刚刚在我的应用程序上设置了DataMapper,我收到了这个错误。我一直试图自己调试它,但我不明白stacktrace以及它将我带到哪里 我已经安装了DataMapper gem,我在app.rb和peep.rb中需要它。我还设置了postgres服务器和数据库 /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/dm-types-0.10.0/lib/dm-types.rb:7:in `<module:Types>
/Users/benjamin/.rvm/gems/ruby-2.4.0/gems/dm-types-0.10.0/lib/dm-types.rb:7:in `<module:Types>': undefined method `/' for #<String:0x007fd44c8f5318> (NoMethodError)
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/dm-types-0.10.0/lib/dm-types.rb:4:in `<module:DataMapper>'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/dm-types-0.10.0/lib/dm-types.rb:3:in `<top (required)>'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/data_mapper-0.9.2/lib/data_mapper.rb:7:in `require'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/data_mapper-0.9.2/lib/data_mapper.rb:7:in `block in <top (required)>'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/data_mapper-0.9.2/lib/data_mapper.rb:5:in `each'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/data_mapper-0.9.2/lib/data_mapper.rb:5:in `<top (required)>'
from /Users/benjamin/Desktop/Makers/WeekFour/WeekendChallenge/chitter-challenge/app/app.rb:2:in `require'
from /Users/benjamin/Desktop/Makers/WeekFour/WeekendChallenge/chitter-challenge/app/app.rb:2:in `<top (required)>'
from /Users/benjamin/Desktop/Makers/WeekFour/WeekendChallenge/chitter-challenge/spec/spec_helper.rb:5:in `require'
from /Users/benjamin/Desktop/Makers/WeekFour/WeekendChallenge/chitter-challenge/spec/spec_helper.rb:5:in `<top (required)>'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `require'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `block in requires='
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `each'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `requires='
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:112:in `block in process_options_into'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:111:in `each'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:111:in `process_options_into'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:21:in `configure'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:99:in `setup'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:86:in `run'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:71:in `run'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:45:in `invoke'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/gems/rspec-core-3.6.0/exe/rspec:4:in `<top (required)>'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/bin/rspec:23:in `load'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/bin/rspec:23:in `<main>'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `eval'
from /Users/benjamin/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `<main>'
Spec_helper.rb:
require 'simplecov'
require 'simplecov-console'
require 'capybara/rspec'
require 'capybara'
require './app/app'
require './app/models/peep.rb'
Capybara.app = Chitter
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
SimpleCov::Formatter::Console,
# Want a nice code coverage website? Uncomment this next line!
# SimpleCov::Formatter::HTMLFormatter
])
SimpleCov.start
RSpec.configure do |config|
config.after(:suite) do
puts
puts "\e[33mHave you considered running rubocop? It will help you improve your code!\e[0m"
puts "\e[33mTry it now! Just run: rubocop\e[0m"
end
end
我的gemlock文件中有两个版本的data_mapper 我必须运行以下命令:
瞧。这一切都应该是可行的。对于那些偶然发现这一错误的制造商来说 上面给出的解决方案对我来说不起作用,尽管它给了我一些如何处理这个问题的提示 所以我的解决办法是: 检查Gemfile并确保datamapper版本为1.2.0
gem 'data_mapper', '1.2.0'
然后确保您使用的所有gems都是最新的
bundle update
gem 'data_mapper', '1.2.0'
bundle update