2011-03-07

ActiveScaffoldで独自のリンク

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
RailsのScaffoldをステキにするActiveScaffoldでは、データの追加、変更、削除の他に独自のリンクを作成できます。

リンクを追加するには、action_linksをいろいろいじります。

こんな感じでリンクを追加します。
config.action_links.add 'info', :label => '特別情報表示'
これでコントローラのinfoアクションが呼ばれることになります。
表示場所は、検索や新規追加などと同じ場所に埋め込まれる形で表示されます。

ページの頭ではなく、各レコード毎に表示したい場合は、
config.action_links.add 'info', :label => '特別情報表示', :type => :record
のように
:type => :record
を指定します。

ActiveScaffoldに埋め込まれる形でなく、新規にページを遷移させたい場合は、
config.action_links.add 'info', :label => '特別情報表示', :page => true
のように
:page => true
を指定します。

リンク先をActiveScaffoldを使っているコントローラとは別のコントローラのアクションにしたい場合は、
config.action_links.add 'info', :label => '特別情報表示', :page => true, :controller => 'info', :action => 'index'
のように
:controller => 'info',:action => 'index'
を指定します。

いろいろ便利なActiveScaffoldなのでした。
コメントを投稿