rails.el まとめ

rails.vim の情報は→id:secondlife:20061222:1166781841へどうぞ。


最近お仕事で初めてRailsのコードを書いているのですが、書きはじめて1週間くらい経ってからやっと rails.el の存在に気付きました。
僕に Rails を教えてくれる、はてのくんVim 使いだったり、そもそも rails.el はもはや常識なので、僕が素のEmacs + ruby-mode で苦労しているのに気付かなかったという。


インストールして使ってみたらとても便利だし、開発効率があがりそうだったので備忘録がてらまとめてみました。

インストール

3つ必要です。

これらをロードパスの通ったところにおいて .emacs に以下のように書きます。

(defun try-complete-abbrev (old)
  (if (expand-abbrev) t nil))

(setq hippie-expand-try-functions-list
      '(try-complete-abbrev
        try-complete-file-name
        try-expand-dabbrev))
(setq rails-use-mongrel t)
(require 'rails)

使いそうな機能を抜粋

対応するファイルへの切替え (C-c ↑)

頻繁に行き来する controller <=> view を簡単に切替えられます。
これがあるとないとでは全然違う。
キーバインドがちょっと苦しいので以下のようにしておくと、直感的に使えるかもしれません。

(define-key rails-minor-mode-map "\C-c\C-p" 'rails-lib:run-primary-switch)
行き先を選べるファイル切替え (C-c ↓)

これもキーバインドが辛いので割り当てる。

(define-key rails-minor-mode-map "\C-c\C-n" 'rails-lib:run-secondary-switch)
テンプレートの partial を簡単に(C-c p)

rhtmlを編集時に、範囲選択して C-c p するとそこの部分を別テンプレートにできる。

メニューを開く

例えば model をいじりたいと思ったときは C-c C-c g m(Modelのm!)をするとModel一覧が出ます。
C-c C-c g がprefixで以下のキーを押すと、対応するメニューが開きます。

  • M - for Models
  • C - for Controllers
  • H - for Helpers
  • L - for Layouts
  • S - for Stylesheets
  • J - for Javascripts
  • G - for miGrations
関連するファイルを開く(C-Enter)

これがかなり便利なので覚えて損はないです。
例えばソース中で

  layout 'hatena'

のところでカーソルをあてて C-Enter するとviews/layout/hatena.rhtml に飛びます。
Railsの規約でファイルが一意に決まるのであれば、いろいろな場所で使えるっぽい。

      redirect_to :action => 'show', :youtube_id => @video.youtube_id

atcionのところで C-Enter すると show メソッドに飛びます。

ログを開く (C-c C-c l)

簡単にログを開けます。しかも tail モードで!

rake (C-c C-c s r)

簡単に rake できます。 rakeのターゲットが補完されるので迷う事がないです。

Webrick(Mongrel)の操作
  • C-c C-c w s httpdの起動
  • C-c F5 今開いているコントローラのアクションでブラウザを開く!
API document(C-F1)

.emacsAPIドキュメントのパスを書いておきます。(フルパスが良いです。)

(setf rails-api-root "/home/taro/rails/doc/api")
    render :text => open(CGI::unescape(params[:url])).read

例えば render にカーソルをおいて、C-F1でブラウザに render のヘルプが表示されます。

ちなみに、F1を押すとRubyのドキュメントを検索できます。(apt-get install ri が必要だった)

SQL Console(C-c C-c s s)

Emacs上で SQLを発行できます。これは便利。

Ruby Mode Snippets

.rhtmlで li と打ってtabを押すと link_to に展開されます。
RoR Wiki 翻訳 Wiki - HowToUseEmacsWithRails

使いそうなのは % とか %% とか、licaiとかかな。
ちなみに、rhtml でSnippetを有効にするには html-mode であることが必要なようです。

(setq auto-mode-alist  (cons '("\\.rhtml$" . html-mode) auto-mode-alist))


どうぞご利用ください。

Ruby on Rails入門―優しいRailsの育て方
西 和則
秀和システム
売り上げランキング: 4649
おすすめ度の平均: 5.0
5 Railsスタートのベストチョイス
5 Rubyを知りたい人も、Railsを知りたい人も!
5 Ruby入門&Rails仕組みから概要まで