Upload
kanako-kobayashi
View
533
Download
6
Embed Size (px)
Citation preview
Ruby / Ruby on Railsビギナーズ倶楽部
ActiveAdminで作る管理画面2015.03.28
超簡単!?
Self-Intoroduction
• WordPressもくもく倶楽部@Co-Edoも来てください。
• Swiftビギナーズ倶楽部@Co-Edoも開催しています( ▽ ` )ノ
• Rubyで開発し始めた、アプリケーションエンジニア(LAMP/Java/Oracle)
http://wp-moku.doorkeeper.jp/
一緒に勉強しましょう( ▽ ` )ノ 勉強会やってます!
http://swift-beginners.doorkeeper.jp/
徳島県出身です
(o∀`o)
1)ActiveAdminって何?
Today's Agenda
2)他の管理画面系Gemってどんなのがある?
3)実際にやってみよう!
4)基本のDSLを学ぶ!
1)ActiveAdminって何?
公式サイト:http://activeadmin.info/index.html
• コマンドで管理画面を自動生成できるGem
• 比較的きれいなデザイン• 簡単すぎて • びっくりするよ!
• 管理者ログインの機能もデフォルト搭載!
2)他の管理画面系Gemってどんなのがある?
demo site:http://rails-admin-tb.herokuapp.com/
1)RailsAdmin
2)typusGithub:http://github.com/typus/typus
・開発者向けの管理画面に向いている。・カスタマイズが、大変らしい。
・管理画面生成gemの中で一番カスタマイズしやすい。・初期画面のデザインは、他より劣る。・モデルの自動検知はしないので、yaml追加が必要。
3)実際にやってみよう!
gem 'activeadmin', github: 'gregbell/active_admin' gem 'sass-rails' gem 'devise' # ユーザー認証で必要
3-1)Gemfileに追記
3-2)インストールbundle install bundle exec rails g active_admin:install
3-3)モデルを生成bundle exec rails g model book title:string color:string bundle exec rake db:migrate
3)実際にやってみよう!
bundle exec rails g active_admin:resource book
3-4)ActiveAdminでモデルを認識
3-5)app/admin/book.rbを実装
3-6)サーバー起動bundle exec rails s
https://github.com/mustacheyork/admin_app
3-7)ブラウザにアクセス!!http://localhost:3000/admin
ソースはこちら
Email:[email protected]:password
アカウント情報:
3)実際にやってみよう!
DEMO
4)基本のDSLを学ぶ!
DSLって何ですか?その前に・・・
4ー1)DSLとは
ドメイン固有言語 (domain-specific language:DSL)
・特定のタスク向けに設計されたコンピュータ言語。
どういうこと???
4ー1)DSLとは
・Ruby、Swift、PHPなどは、汎用プログラミング言語。
・ShellScript、SQL、Makefileなどは、特定の目的を 達成する為に特化したプログラミング言語。
様々な広い方面に用いる
DSLは・・・ 特定の目的を達成するための最小限の実装で良い。 利用者を限定できる為、その人達が分かる表現で良い。 故に、学習コストが高くなる。
4ー1)DSLとは
ActiveAdmin、Rspec、ActiveRecode(migration)等は、Rubyで作られた内部DSLなので、 Rubyの言語仕様で記述できる。
大きく分けて、外部DSLと内部DSLがある。
- XMLやyamlで書いたコードをRubyで 解析したりするのが外部DSLと呼ばれる。 - Rubyで実装したDSLが、内部DSLと呼ばれる。
4)基本のDSLを学ぶ!
index do column "ID", :id column "タイトル", :title column "色", :color actions end
一覧ページに表示する項目を 定義するパラメータ
column:
一覧ページを定義する パラメータ
index:
一覧ページ、編集ページに 各アクションボタンを 表示するパラメータ
actions:
さっきのDEMOのコードが 理解できる(o∀`o)
active_admin_comments:
4)基本のDSLを学ぶ!
show do |b| attributes_table do row :id row :title row :color end active_admin_comments end
詳細ページで表示する項目を 定義するパラメータ
attributes_table:
詳細ページを定義する パラメータ
show:
これは、テーブル名です。
ま と め
・簡易的な管理画面をサクッと作るにはとても便利!
・カスタマイズしようと思うとDSLの理解が必要。
・ActiveAdminは、Rubyで書かれた内部DSL。
所感としては・・・ やっぱり超簡単だなんて 甘い話はないよね(⌒-⌒)
参 照 情 報
http://qiita.com/baban@github/items/f751fb05c4d2367878aa
・rails管理画面系gem比較してみた
http://www.slideshare.net/yizawa/rubydsl-25541986
・RubyでDSL
http://www.nicovideo.jp/watch/sm11902338
・Rubyで作るDSLの基礎
Let's study together!
Thank you :)