新手问题 新人终于跟着《Ruby on Rails 5 Tutorial 4th》写完了第一个应用,问一些在过程中遇到影响开发体验的问题,请各位大佬指点下。

yellowup · 2020年12月10日 · 最后由 Vectorz 回复于 2021年01月07日 · 1070 次阅读

代码地址

我的问题主要集中在实际开发中,调试上的问题。 学习过程是在 Ubuntu20.04,编辑器 NeoVim(插件 vim-rubyvim-railscoc-solargraph)。

  1. 如何让函数跳转,有时候经常会忘掉那个函数定义在了哪里,然后想跳转跳转不了。
  2. 有没有可以类似于打断点的调试方式。
  3. 如何验证某个方法的实际输出?比如具名路由,一开始理解不了,就像在 rails console 中执行下,发现执行不了。
  4. 数据库的可视化。(已解决,rails_db
  5. 当测试不可过时,如何排查。比如我遇到过几次都是因为字母打错了,但是给的报错往往不是特别明确的,这种时候如何提高定位问题的速度。
  6. 整个框架涉及到的文件很多,我常常搞不清楚之间的逻辑调用关系,当然一方面也是不够熟练,但又有点无从下手,这个问题可能比较宽泛,希望解惑。

整体写完后,总结下来大概上面几点。希望各位大佬指点下。

1-3 可 google

5 经验

6 经验 + 看一遍 rails guides

函数跳转的话,vim 可以装 ctags 插件来做,跳转的话,好像是 CTRL+[ 断点调试,使用 pry 或者 byebug 还是比较好用的,编辑器的断点调试可以用 vscode 来配置使用

  1. 编辑器全局搜索
  2. pry-rails, byebug 都可以打断点
  3. 具名路由主要就是产生一个用于你在页面上调用的 helper 方法,要调用的话你需要在 View 的上下文里才能执行,或者在 controller 中使用关键字 view_context 也可以执行到 helper 方法 rb view_context.xxx_xxx_path
  4. 真的只能多积累,上次写个测试 it 后面少写了个 do,调试了半天...
  5. 我的经验是,先跟着全做一次。然后再从开头一个个模块的每个细节都去调试、理解、运用。

1,2,3,4 用 IDE, 5,6 靠经验

Catherine 回复

感谢啊

感觉你时间都花在折腾 Vim 配置了

1.安装 ctag,ctrl-] 跳转到定义,ctags --recurse . `bundle show --paths` 生成索引之后,函数/类的定义可以跳转到 gem 里

4th 还能跟着做完吗? 我之前跟着写到一半就进行不下去了。。

函数跳转,调试啥的,RubyMine 真的很好用

需要 登录 后方可回复, 如果你还没有账号请 注册新账号