我正在使用better_errors gem(https://github.com/charliesome/better_errors)在Mac上开发Rails应用程序。我有Better_errors配置为使用Github wiki上的指令在RubyMine中打开文件(BetterErrors.editor ='x-mine:// open?file =%{file}& line =%{line}'if defined?BetterErrors) 。
但是当我点击better_errors页面中的某个文件时,RubyMine每次都会给我一个“找不到文件”的错误。问题是我的项目位于名为“Google Drive”的目录下(“Google”和“Drive”之间的空间)。文件链接生成为:
<a href="x-mine://open?file=%2FUsers%2Fredacted%2FDocuments%2FGoogle+Drive%2FWork%2FReferrer%2FCode%2FPrototype%2Fapp%2Fhelpers%2Fusers_helper.rb&line=6">app/helpers/users_helper.rb</a>
反过来,RubyMine正试图打开文件:
'/用户/删节/文档/谷歌+驱动器/工作/引荐/代码/原型/应用程序/助手/ users_helper.rb'
当正确的语法应该是:
'/ Users / edacted / Documents / Google Drive / Work / Referrer / Code / Prototype / app / helpers / users_helper.rb'
比较
$ ls -l '/Users/redacted/Documents/Google+Drive/Work/Referrer/Code/Prototype/app/helpers/users_helper.rb'
ls: /Users/redacted/Documents/Google+Drive/Work/Referrer/Code/Prototype/app/helpers/users_helper.rb: No such file or directory
Vs的:
$ ls -l '/Users/redacted/Documents/Google Drive/Work/Referrer/Code/Prototype/app/helpers/users_helper.rb'
-rw-r--r-- 1 redacted staff 282 Apr 11 15:29 /Users/redacted/Documents/Google Drive/Work/Referrer/Code/Prototype/app/helpers/users_helper.rb
有关如何解决此问题的任何建议(除了重命名我的Google云端硬盘主目录,这会导致更多的麻烦而不是它的价值)。
这显然不是世界末日,但在RubyMine中自动打开文件会很好。
答案 0 :(得分:0)
在终端中,创建一个符号链接:
ln -s ~/Google\ Drive/ ~/GD
在development.rb中:
if defined?(BetterErrors)
BetterErrors.editor = proc { |full_path, line|
full_path = full_path.sub('Google Drive', 'GD')
"x-mine://open?file=#{full_path}&line=#{line}"
}
end