RSpec - 无效 space 字符导致未定义的方法“should”?

RSpec - invalid space character causes undefined method ` should'?

在 RubyMine 和 Atom 中编写规范时,我偶尔会遇到一个非常烦人的错误,其中似乎有一个无效的 space 字符,因此 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'前面的space。

我试过打开隐形字符,但我看不出有什么不同于正常的 space。

删除 it 块中的第一个 space 并点击 space 栏可以解决问题,但返回并一直修复块非常烦人。

关于导致错误的原因有什么想法吗?

已添加

根据建议,我添加了在十六进制编辑器中打开规范。有问题的字节是 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

原来最可能的原因是我胖胖的黄油手指击中了 alt(选项) + 空格键。这也解释了为什么即使在我切换编辑器后它也会发生。

我通过下载 Karabiner 并激活 Non Breaking Space To Normal Space 解决了这个问题。