开发者

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/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜