Sublime Text 可通过配置插件和构建系统高效支持 Ruby on Rails 开发,核心是解决 rbenv/rvm 环境识别、rake/rails 命令调用及 ERB/HAML 等文件语法支持;需用终端启动 Sublime 以加载 shell 环境变量,安装 SublimeRuby 和 Rails Tools 插件并启用 bundle_exec,配置快捷键实现快速跳转与生成,使用 HTML-Rails 等插件修复模板语法高亮。

Sublime Text 本身不内置 Ruby on Rails 开发支持,但通过合理配置插件和构建系统,能高效完成 Rails 项目编辑、运行与调试。关键不在“装一堆插件”,而在于解决三个实际问题:rbenv/rvm 环境识别、rake/rails 命令调用、以及对 .erb、.haml、routes.rb 等 Rails 特有文件的语法/跳转支持。
确认 Sublime 能正确调用系统 Ruby 和 Rails 命令
很多插件失效的根本原因是 Sublime 启动时没加载 shell 的环境变量(比如 rbenv 的 shims 目录或 rvm 的 default gemset)。直接在终端里 which rails 返回 /Users/xxx/.rbenv/shims/rails,但在 Sublime 里执行构建却报 command not found: rails,就是这个原因。
解决方法是让 Sublime 使用你的 shell 配置启动:
- macOS:用终端命令启动 Sublime,例如
subl .(确保已配置subl命令),而不是双击图标 - Linux:同上,确保从已加载
~/.bashrc或~/.zshrc的终端中运行subl . - Windows:若用
rubyinstaller+devkit,需确认PATH包含ruby/bin和msys64/usr/bin
验证方式:打开 Sublime → Tools → Build System → New Build System…,输入以下内容并保存为 Ruby on Rails.sublime-build:
{
"shell_cmd": "which rails",
"working_dir": "$project_path"
}
按 Cmd+B(macOS)或 Ctrl+B(Win/Linux),输出应显示正确的 rails 路径。
安装并配置 SublimeRuby 和 Rails Tools 插件
SublimeRuby(原名 RubyTest)和 Rails Tools 是目前最轻量、维护尚可、且不依赖 Node.js 的组合。别装 Ruby Slim 或过时的 Rails Snippets——它们要么已停更,要么和现代 Rails(7+)的 importmap / jsbundling-rails 冲突。
安装步骤:
- 通过 Package Control 安装
SublimeRuby(注意作者是guillermooo) - 再安装
Rails Tools(作者tekknolagi,GitHub 仓库仍在更新) - 重启 Sublime,打开一个
app/controllers/application_controller.rb文件,右键菜单应出现Rails Tools → Go to Model等选项
重要配置项(Preferences → Package Settings → Rails Tools → Settings):
{
"rails_root_patterns": [".git", "config.ru", "Gemfile"],
"use_bundle_exec": true
}
"use_bundle_exec": true 确保所有命令(如 rails g controller)都自动加前缀 bundle exec,避免因 Gem 版本不一致导致命令失败。
自定义快捷键实现快速生成和跳转
Rails 开发高频动作不是写代码,而是跳转和生成。靠鼠标点菜单太慢,建议绑定以下快捷键(Preferences → Key Bindings):
[
{ "keys": ["super+ctrl+r"], "command": "rails_tools_go_to_related" },
{ "keys": ["super+ctrl+g"], "command": "sublime_ruby_test_run_file" },
{ "keys": ["super+ctrl+c"], "command": "show_overlay", "args": {"overlay": "command_palette", "text": "Rails Tools: Generate"} }
]
说明:
-
super+ctrl+r:在posts_controller.rb里按此键,自动跳转到app/models/post.rb或app/views/posts/ -
super+ctrl+g:在测试文件(test/controllers/posts_controller_test.rb)中运行当前文件 -
super+ctrl+c:呼出 Rails Tools 的生成命令面板,输入controller或model即可创建
注意:Rails Tools 的生成命令默认不支持 --skip-javascript 等新参数,如需定制,建议改用终端手动执行 rails g controller Posts --skip-javascript,插件只负责跳转和查看。
避免被 erb / slim / haml 模板语法高亮搞乱
Sublime 默认对 .html.erb 文件启用 HTML 语法高亮,但嵌入的 和 Ruby 代码块无法正确着色,容易看漏逻辑错误。这不是插件问题,是语法定义优先级冲突。
解决方案只有两个有效路径:
- 安装
HTML-Rails插件(作者dracula),它重写了.erb的语法定义,使区域内 Ruby 代码按 Ruby 规则高亮 - 对
.slim或.haml文件,必须单独安装对应语法包(如Slim或Haml),并确保文件后缀被正确识别(右下角状态栏应显示 “Slim” 而非 “HTML”)
验证方式:打开一个 index.html.erb,里面写 ,如果 .upcase 是蓝色(Ruby 方法色),说明生效;如果是灰色(HTML 文本色),说明语法未接管成功。
真正卡住开发效率的,往往不是缺功能,而是 Sublime 没读取到你 shell 里的 Ruby 环境,或者多个语法包互相覆盖了文件关联。先跑通 which rails 和 Go to Model 这两件事,其他都是锦上添花。










