Rails 用プラグイン2種類リリース

今日は、2月25日の Rails 勉強会で紹介した Relative Path プラグインと Double Filter
プラグインをリリースするべく努力しました。

そして、一応なんとか使えるようにリリースしてみたつもり。

使い方は基本的には英語で書いた説明を読んでください。

Relative Path プラグインの方は次の感じで大体使えます。

インストール

 ruby script/plugin install http://opensvn.csie.org/relative_path/trunk

 # edit app/controllers/application.rb
 class ApplicationController
   include RelativePath
 end

これで、今まで書いてた url_for の出力が相対パスに書き換わるはず。

Double Filter プラグインの使い方はちょっと複雑です。

0. model と controller がすでに定義されている Rails のアプリケーションを準備する。

ここでは次のファイルがすでにあるものとする。

 app/models/foo.rb
 app/controllers/foo_controller.rb

1. config/double_filter.yml を書く。

 foo:                     # controller name
   model: Foo             # model name
   column0: bar_column    # db column name
   abbrev0: bar           # element id and rhtml filename
   column1: baz_column
   abbrev1: baz
   recordset: foos   # name of the array of ActiveRecord in your list.rhtml,
   pages: foo_pages  # name of pagination object in your list.rhtml

2. view テンプレートを generate

 > ruby script/generate double_filter_view foo
 create app/views/foo/_double_filter.rhtml
 create app/views/foo/filtered_list.rhtml

今回は foo という名前のアプリケーション用にテンプレートを作成する。

3. foo_controller.rb を編集

 class FooController
   include DoubleFilter
   double_filter "foo"   # the controller name defined in double_filter.yml
   ...
 end

4. view テンプレートを適宜編集して、次の行を追加する。

 <%= render_partial "double_filter" %>

なお、view テンプレートに上の行を追加した場合は対応するアクションの場合、controller 側で collect_column_information を呼ぶことを忘れないこと。

5. _double_filter.rhtml と filtered_list.rhtml を適宜編集

6. Have Fun!

以上のような感じです。

どうぞ、使ってやってください。