Ruby on rails 3 nil:NilClass的未定义方法“downcase”
谁能告诉我我做错了什么,或者我可以做些什么不同的事 它基本上把这个错误抛到了底线上Ruby on rails 3 nil:NilClass的未定义方法“downcase”,ruby-on-rails-3,ruby-on-rails-3.1,ruby-on-rails-3.2,Ruby On Rails 3,Ruby On Rails 3.1,Ruby On Rails 3.2,谁能告诉我我做错了什么,或者我可以做些什么不同的事 它基本上把这个错误抛到了底线上 @access\u token=@consumer.get\u access\u tokennil在我的客户机中如果您能更具体地说明您要做什么,那就太好了 这个错误是不言自明的。您正在为nil调用downcase:NilClass,因为您正在尝试为nil对象调用downcase…提供更多信息,我们将能够提供更好的帮助。我意识到这个问题是很久以前提出的,但我刚刚在测试套件中遇到这个问题。听起来很熟悉 我的错误是 d
@access\u token=@consumer.get\u access\u tokennil在我的客户机中如果您能更具体地说明您要做什么,那就太好了
这个错误是不言自明的。您正在为nil调用downcase:NilClass,因为您正在尝试为nil对象调用downcase…提供更多信息,我们将能够提供更好的帮助。我意识到这个问题是很久以前提出的,但我刚刚在测试套件中遇到这个问题。听起来很熟悉 我的错误是
describe GameSystem::Client do
def client
GameSystem::Client.new(signature_method: 'HMAC-SHA1', oauth_key: 'kk', oauth_secret: 'bb', oauth_access_token_url: 'https:://localhost')
end
before :each do
WebMock.reset!
end
describe 'response' do
context 'wrong path' do
it 'raises JSON::ParserError on invalid return value' do
stub_request(:get,"https://games.com/game_id/invalid_id").to_return(:status => 200, :body => 'invalid json', :headers => {})
Rails.logger.info "#{client.games_by_id("invalid_id")}"
end
end
end
end
事实证明,我使用的是移动设备fu,而我使用的是stubing is_mobile_设备?无存根也可移动设备。在这一过程中的某个地方,mobile fu试图将设备名降为零。通过为移动设备添加存根,事情就解决了。在规格中的before块中,我添加了:
Failure/Error: get :index
ActionView::Template::Error:
undefined method `downcase' for nil:NilClass
如果你不使用手机fu,你可能会有不同的问题。我能够通过pry和pry调试器跟踪实际问题。绝对值得研究的工具。也许这个答案应该是一个评论。然而,问题仍然存在,他的代码一定是在某个地方对一个nil对象调用downcase…他从未提供方法get_access_token的代码,这可能就是downcase所在的地方。。。
controller.stub(:is_mobile_device? => true, :mobile_device => 'iphone')