2012年2月7日火曜日

[Rails]acts_as_listでモデルオブジェクトの並び替え

ブラウザでモデルオブジェクトを並べ替えたりしたいってときは、acts_as_list
というgemを使うと便利。

とりあえず、リスト表示されたデータの横についてる矢印を押すと順番が入れ替わるって風なのを目指します。

Categoryと1対nのItemというモデルがあったとして。
まず、Gemfileに以下のコードをいれてbundle installする。


つぎにItemにpositionというカラムを追加。


$ rails g migration AddPositionToItem position:integer
$ rake db:migrate


つぎはモデルの編集。

app/models/ctegory.rb

app/models/item.rb


続いてコントローラーを編集。

app/controllers/items_controller.rb


あとはルーティングの設定をして、ビューを編集すればおっけい。

config/routes.rb

app/views/items/index.html.erb


0 件のコメント:

コメントを投稿