Awesome Open Source
Awesome Open Source

Sublime Text Rails snippets

⚠️ I'll be porting these changes to the official Sublime Text Rails snippets. Here's how you can help

This repo provides up-to-date Ruby and Rails snippets for Sublime Text: it's designed to be used with Ruby >= 2.0 and Rails >= 3. All the snippets can be found in this cheatsheet generated by Snipcheat.





If you're using Sublime Text 2, please refer to older installation instructions.

From Package Control

The easiest way to install the snippets is via package control.

However this method has a little downside: it adds new snippets but does not remove the old ones. This means that for some snippet triggers e.g. vp (validates presence) you'll see a drop-down with two options, not one.

Look for "Ruby on Rails snippets" in Package Control. Here's how to install packages

From Git

This method replaces the default outdated snippets, but you have to keep it up to date manually by running git pull every now and again.

To install via git:

  • First, cd into the ST3 Packages directory
# Mac:cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages
➜ # Linux:cd ~/.config/sublime-text-3/Packages/
  • Then clone this repo into the folder
➜ ls | grep Rails
➜ # if there is a `Rails` dir, back it up e.g. archive it and remove the original.
➜ git clone Rails

It is important to clone it into a folder called Rails. Some Sublime plugins have hard-coded dependencies pointing to that path. See troubleshooting.


Syntax highlighting doesn't work

You might need to tell Sublime text to use the Ruby on Rails syntax provided by Ruby on Rails Snippets. With an .rb file open and focused navigate to View -> Syntax -> Open all with current extension as... -> Ruby on Rails Snippets -> Ruby on Rails

Sublime picks Ruby (not Rails) syntax

You might need to tell Sublime to prefer Rails over Ruby by navigating to View -> Syntax -> Open all with current extension as... and picking Rails of Ruby on Rails snippets

Can't find *.tmLanguage

If Sublime complains it can't find Ruby on Rails.tmLanguage, chances are you are using this hack.

You'll need to change the path where it looks for that file. Here's the forked version which works with this plug-in.

You may also need to change Packages/(DetectSyntax|User)/DetectSyntax.sublime-settings to replace/include this rule

  "name": "Ruby on Rails snippets/Ruby Haml",
  "rules": [
    {"file_name": ".*\\.haml$"}
  "name": "Ruby on Rails snippets/Ruby on Rails",
  "rules": [
    {"function": {"name": "is_rails_file"}}

Ruby on Rails snippets is a default installation directory for Package Control. If you installed in a different directory, change the path accordingly

How to contribute

  1. Fork it
  2. Create your feature branch for each group of snippet changes that could be merged individually (git checkout -b my-new-snippet)
  3. Commit your changes (git commit -am 'Add some snippet [tab_trigger]')
  4. Commit messages should start with a verb in present simple tense and have all affected tab triggers in square brackets e.g. "Add a snippets for partial rendering [rpc, rpo]"
  5. Push to the branch (git push origin my-new-snippet)
  6. Create new Pull Request

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
ruby (12,889
html (11,138
productivity (258
snippets (160
ruby-on-rails (142
sublime-text (136
editor-plugin (23