在RubyMine& amp;编写规范时偶尔会出现一个非常烦人的错误。原子似乎有一个无效的空格字符,因此ruby会将第一个(空白)字符作为方法名称的一部分进行评估。
1) Activity
Failure/Error: it { should belong_to :micropost }
NoMethodError:
undefined method ` should' for #<RSpec::ExampleGroups::Activity:0x007fd00e41bd20>
# ./spec/models/activity_spec.rb:5:in `block (2 levels) in <top (required)>'
请注意错误消息中' should'
前面的空格。
我试过打开隐形字符,我看不到任何与普通空间不同的东西。
删除it
块内的第一个空格并点击空格键可以解决问题,但是回过头来修复块一直很烦人。
关于导致错误的原因的任何想法?
根据建议我添加了在十六进制编辑器中打开的规范。违规字节为C2 A0
-
it { should belong_to :micropost }
69 74 20 7B C2 A0 73 68 6F 75 6C 64 20 62 65 6C 6F 6E 67 5F 74 6F 20 3A 6D 69 63 72 6F 70 6F 73 74 20 7D
答案 0 :(得分:0)
原来最可能的原因是我的胖胖手指击中 alt(选项) + 空格键。这也解释了为什么即使在我改变编辑后它也会发生。
我通过下载Karabiner并激活Non Breaking Space To Normal Space
来解决了这个问题。