Rails strange error => IndexError: string not matched
I've got a very strange message error. I think it's not coming from Ruby but from the unix system.
So, I have the following test file:
require File.dirname(__FILE__) + '/../test_helper'
class CatTest < ActiveSupport::TestCase
def test_truth
assert true
end
end
So, nothing coming from YAML files in the Fixtures directory.
When I run the test above with the command:
$ ruby ./test/unit/cat_test.rb
I get the very strange result:
Loaded suite ./test/unit/cat_test
Started
E
Finished in 0.011252 seconds.
1) Error:
test_truth(CatTest):
IndexE开发者_开发知识库rror: string not matched
1 tests, 0 assertions, 0 failures, 1 errors
I can't find the meaning of the error
IndexError: string not matched
But the most strange is that yesterday, It worked!
Thank you very much for your help.
Regards
(I'm working under Ubuntu 9.04)
This happens, for example, when you try to access a string variable as a Hash by mistake.
s = "a string"
s["position"] = "an other string"
IndexError: string not matched
from (irb):5:in `[]='
from (irb):5
Additional Information
As Simone points out the error is caused when you think you have a hash but really it a string. Its a genuine Ruby exception. I've had the exception due to a typo in my code. In your case I'm not sure of the cause but it could be something to do with a combination of Ruby / Rails versions.
You could try up/down grading Ruby or Rails to see if that fixes it.
For multiple Ruby versions I would highly recommended "RVM":http://rvm.beginrescueend.com/
精彩评论