Railsメモ:position列を単独テーブルで使う

 Railsではテーブルにposition列を用意しておくと、自動でインクリメントナンバーを挿入してくれます。この値はソートに使う物で、必要に応じて値を入れ替えて位置を移動させる事が出来ます(列に順序が無いというのはRDBMSの基本事項ですが、現実には往々として順序が必要とされますよね^^;)

 このpositionはact_asの一機能で、通常は親子のテーブルを用意して使います。が、別に親がいなくてもpositionは機能します。やりかたは簡単で、モデルクラスの定義に"acts_as_list"を宣言するだけです(引数無し)。もちろんテーブルにposition列(intでNULL許可)を追加するのを忘れずに。