Rails 1.2 pre / Rails 1.1.6 の htmlhelp 作りました(trunk も更新)

http://rails2u.com/htmlhelp/rails/
というわけで現時点の Rails 1.2 pre 用のを作ったり、stable が無いのはどうよ?と思って Rails 1.1.6 のを作ったり trunk を最新に更新したりしました。これからも気が向いたら更新して上記ディレクトリに上げておきます。lightyapache の dir-listing で RSS はいてくれないかなぁ*1、とか思う今日この頃です。
で、そろそろ 1.2 が出そうな予感です。Rails 1.2 では現在の stable だと問題ないけど、非推奨になっている項目が結構あるので、数ヶ月後にリリースしようと思っているような方は、今のうちから使っておくと良いと思います。
詳しくは WEB+DB Vol 36 で Rails 1.2 についての解説記事、『先取り Rails』を読むと良いと思います。で、記事中で気になった箇所が。

start_form_tag, end_form_tag を使うと警告ができるようなりました。代わりに form_tag, </form> を使いましょう

これは </form> な閉じタグは使わずに、

<% form_tag do -%>
foobarbaz
<% end -%>

と form_tag のブロックで囲むのが 1.2 風な感じです。で、ERB を知っている方だと、『え、<%= 使ってないのにどうやって form のタグ表示してるの?』と考えると思いますが、わりと力業(helper の concat メソッドの中で _erbout に値をつっこむ)で実装してます。
また WEB+DB Vol 36 の JavaScript 連載で、MochiKit の基本について書きましたので、良かったら併せてどうぞ。

WEB+DB PRESS Vol.36

WEB+DB PRESS Vol.36

*1:それPla とか云われそう!

rails.vim まとめ

id:higepon に『rails.el も rails.vim も知らなかったよ!もっと早く知ってたら生産性が三倍になっていたのに!(一部誇張』と云われたので、rails.vim について ひげぽん OSとか作っちゃうかMona- - rails.el まとめ に沿った形で簡単に紹介したいと思います。

インストール

  • 通常のインストール

http://www.vim.org/scripts/script.php?script_id=1567
から rails.zip をダウンロードし、~/.vim/ 以下に展開します

  • svn からのインストール

vba (vim のパッケージングシステム)を使うので vim7 以上限定の方法ですが

svn co http://svn.tpope.net/rails/vim/railsvim/ railsvim
cd railsvim
rake rails.vba
vim -c 'so %' rails.vba

でインストールできます。

使いそうな機能を抜粋

対応するファイルへの切替え

:R

:R で controller と view の切り替えが可能です。コントローラの場合、カーソル現在位置のメソッドに対応する view に飛んでくれます。

:Rmodel

対応する model へ飛んでくれます。たとえば、models/foo.rb なモデルには、foo_controller.rb や fixtures/foos.yml を編集中の時に、:Rmodel で自動で飛びます。また、

:Rmodel foo

と明示的にモデル名を引数にすることで、そのモデルに飛ぶことができます。

以下は :Rmodel のそれぞれ版です

  • :Rcontroller
  • :Rview
  • :Runittest
  • :Rmigration
  • などなどあるので :R[tab] すると一覧でみれます

テンプレートの partial を簡単に

rhtml 編集時に、visual モードで範囲選択して、:Rpartial でテンプレートの切り出し、保存を自動で行ってくれます。

メニューを開く

vim はメニューは使わないことになっています。使わないよね?

関連するファイルを開く

おなじみ魔法のコマンド gf で対応するファイルが開けます。
たとえばソース中で

layout 'hatena'

のところでカーソルをあてて gf するとviews/layout/hatena.rhtml に飛びます。
またもちろん Foo にカーソルをあてて gf で models/foo.rb に飛びますし、ModelController にカーソルを当てて gf で controllers/model_controller.rb に飛びます。

ログを開く

:Rlog で split された window にログを表示できます。しかも最新だとカラーリングまでされます。また Exception 部分が折りたたまれて表示されるため、長い例外でも見たいときだけ折りたたみを解除して見れます。でも vim だと重くて無理です。gvim だと良いかもしれません。

httpd(script/server) の操作

:Rserver で起動できます。でも screen が必須です。

現在見ている action や view をブラウザで開く

:Rpreview で開けます

API document

:Rdoc で Rails のドキュメントは表示はできますが、メソッド検索はできません。htmlhelp を使うのでいらないよね!(負け惜しみ)

SQL Console

:Rdbext で実行できます。dbext.vim が必要です。が、別 screen で mysql などを直接使った方が便利です。vimsql 書きたいときは mysql のコンソールから edit と打つと環境変数 EDITOR のエディタで編集できますし。

略語展開 ( abbrev )

 render_text 

とか打つと、

render :text =>

などと展開されます。よく使う abbrev のコマンドは id:moro さん作の moroの日記 - Rails.vimのチートシート を見ると一発でわかって便利です。

もっと詳しくいろいろ知りたい

まだまだたくさんの機能があります。

:help rails.vim

で優しく詳しくほぼ全機能載っているので、vimrails 使いは一読をオススメします。
また、83's : rails.vimのいい加減な翻訳rails.vim の翻訳(すばらしい!)も載っているので、参照すると良いでしょう。