Ruby on Rails (RoR) 講習会 近畿大学大学院 田中大介. 本日の目標 Web アプリケーションを作ろう!

Slides:



Advertisements
Similar presentations
ECLフレームワー ク 近畿大学 理工学部 情報学 科 間野 哲 弥.
Advertisements

Ruby on Rail の紹介 石渡正樹 Ruby on Rails とは? スクリプト言語 Ruby で書かれた web アプリケー ションフレームワーク 作者 –Devid Heinemeier Hansson という人だそうです ( 詳 しいことは知りません.
テストについて 近畿大学大学院 田中大介 資料:
データベースの基礎知識 ACEESS の基本操作. データベースの基礎知識 データベース  特定のテーマや目的に毎のデータの集合体 データベースソフトウェア  データベースを作成、管理するソフトウェアの総 称 Oracle(Oracle) IBM(DB2) Microsoft(SQL Server)
カーリルを利用した 書籍活用 / 蔵書管理システム 研究者: J0639 山中勇太 指導教員:越田高志.
Project Next-L プロトタイ プ 東京工科大学 田辺浩介
BBT 大学 Ruby on Rails 開発環境セットアップマニュアル Mac 版 1.1 最終更新日: 2013/1/5.
BBT大学 Ruby on Rails開発環境セットアップマニュアル
株式会社co-meeting パブリッククラウドエバンジェリスト 吉田 パクえ
オープンソースCMS「ZOMEKI」を利用した 業務システムの開発手法
7-1.WEKOコンテンツ 一括登録 マニュアル Version2.5
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
情報処理 第8回.
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
JPAを利用した RESTful Webサービスの開発
Ruby on Rails 勉強会 11月5日「土」 崔 昌権
PHPエディタによる 情報システム演習 01.
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
Day3 Day4 Day3 Day4 Copyright (c) 2009 Fusic Co.,Ltd.
Mavenによる プロジェクト管理 近畿大学理工学部 情報学科3年  小野実.
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
アプレット (Applet)について.
WagbyR6.5 Update 12 PPT版 更新情報
JavaServlet&JSP入門 01K0018 中村太一.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
平成19年11月8日 図書系職員のための アプリケーション開発講習会
文献管理ソフトRefWorksの利用.
3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟.
ビューとコントローラ.
HTTPプロトコルとJSP (1) データベース論 第3回.
Curlの仕組み.
Day3 Day4 Day3 Day4.
Day3 Day4 Day3 Day4.
Day3 Day4 Day3 Day4.
パフォーマンスチューニング on Rails
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access を使ってみよう 第1回
PDF管理Webアプリケーションの制作 ~PDFファイル探索時間の短縮化~
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
基礎プログラミング演習 第1回.
Titanium Studioを使った アプリ開発 Vol.1
第8章 Web技術とセキュリティ   岡本 好未.
管理画面操作マニュアル <サイト管理(1)> 基本設定 第9版 改訂 株式会社アクア 1.
11.Webサイトとデータベース, Webサイト+ブログシステムの開設手順例
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
第1回.リレーショナルデータベースを使ってみよう
第1回.リレーショナルデータベースを使ってみよう
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
すぐできるBOOK -基本設定編-.
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
マイクロソフト Access を使ってみよう 第2回
7-0.SWORD Client for WEKO インストールマニュアル Version 2.2
Javaによる Webアプリケーション入門 第11回
データベース設計 第4回 DBMSの機能と操作方法(1) Access入門
JSFによるWebアプリケーション開発 第3回
Firebaseを用いた 位置情報共有システム
3.リレーショナルデータベース,主キー, SQL
gate登録システム: 設計ポリシーから使い方まで
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
人を幸せにするアプリケーションの開発 2004年度春学期 大岩研究プロジェクト2 2004年4月8日(木) 発表:武田林太郎.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Jakarta Struts (1) ソフトウェア特論 第10回.
JSPの基本 J2EE I (データベース論) 第8回 /
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
JSFによるWebアプリケーション開発 第7回
Presentation transcript:

Ruby on Rails (RoR) 講習会 近畿大学大学院 田中大介

本日の目標 Web アプリケーションを作ろう!

本日の予定 Web アプリケーションとは? データベース( DB )とは? MVC モデルとは? scaffold とは? 実践練習

Web アプリケーション Web 上で動作するアプリケーション インストールが不要 ブラウザさえあれば動く (動作環境に依存しない) ex. Google 検索、 YouTube 、 Amazon など

Web アプリケーション Web アプリはデータを使う Google 検索 ⇒ サイトの URL YouTube ⇒ 動画やそのタイトル Amazon ⇒ 商品の名前やその値段 データを扱うしくみが必要 ⇒ DB

データベース( DB ) データを簡単に利用するためのしくみ 大量のデータを高速に処理できる 不正なデータを受け付けない ユーザ権限を管理できる etc … たくさんのテーブル(データの入れ物)を 持ちます

データベース( DB ) しくみ(例: Amazon ) DB 商品 テーブル 顧客 テーブル

データベース( DB ) しくみ(例: Amazon の商品) ID 商品名値段カテゴ リ 1 カッパ(黄色) 2,000 雨具 2 トマトサンド 300 食物 3 スプーン 1,000 食器 商品テーブル DB テーブル カラム レコード

データベース( DB ) しくみ(例: Amazon の商品) カテゴリ 値段 商品名 ID

MVC モデル ソフトウェアの設計モデルの一つ 3 要素を組み合わせ、システムを実装 データベースを処理する「 Model 」 表示(ブラウザ)を処理する「 View 」 View と Model を制御する「 Controller 」

MVC モデル例 図: wisdom 様

MVC モデルの利点 機能ごとに分離 開発作業の分業が簡単 プログラマはプログラムに、 デザイナーはデザインに集中できる 変更の影響を受けにくくなる 一つのモデルを変更しても、 他に影響しない

Rails では プロジェクト作成時に Controller 、 Model 、 View をフォルダ分け MVC モデルの利点を 生かした開発を助ける

scaffold Rails には generator という コード生成プログラムがある controller ⇒ コントローラとビューを生成 model ⇒ モデルを生成 scaffold ⇒ 雛形を一括作成 CRUD (作成、一覧、更新、削除)ができ る 簡単な Web アプリケーションを瞬時に作 成

小まとめ(1) Web アプリケーションを作ります Web で動作する(ブラウザで操作する) アプリケーション データベースを使います データの入れ物です テーブル(入れ物)にレコード(データ) を 入れて使います

小まとめ(2) MVC モデルを利用します データベース担当 (Model) 、表示担当 ( View )、 制御担当( Controller )に分けられます プロジェクト作成時に自動で分けてくれま す scaffold を利用します 簡単に雛形アプリを作れます

実践練習 本を管理する Web アプリを作成する テーブル Books テーブル id : 固有番号 name : 書名 price : 値段 state : 状態(どこにあるか)

実践練習 本を管理する Web アプリを作成する 手順 1. プロジェクトを作成 2. scaffold を実行 3. データベースを作成 4. サーバ起動・確認

実践1・プロジェクトを作成 1. RailsNavigator で右クリック 2. New > RailsProject を選択 3. Project Name を 「 books 」にして終了

実践2・ scaffold を実行 Generators で scaffold を選択して、 「 book name:string price:integer state:string 」

実習 3 ・データベース作成 Rake Tasks で db:migrate を実行

実習4・サーバ起動 1. Servers で 作成したプロジェクトの サーバを起動 2. (ポート番号は起動したサーバのも の)

解説1・プロジェクトを作成 各ディレクトリの中身 app : Model 、 View 、 Controller config :各種設定ファイル db :データベースに関連するファイル log :ログファイル public : Web 経由でアクセスできるファイル test :テストコード

解説2・ scaffold を実行 scaffold テーブル名 { カラム名 : タイ プ } CRUD が可能な雛形 Web アプリを作成 Controller, Model, View, Migration 指定したタイプのカラムを持つ テーブルを作成する string : 文字列 integer : 整数 date : 日付

解説2・ scaffold を実行 controller メソッドで Model や View を制御する 例: ⇒ book コントローラの new メソッドが呼ばれ る 指定しなければ new.html.erb

解説2・ scaffold を実行 model CRUD 処理を行う。以下はメソッドの一例 Create : save メソッド Read : find メソッド Update : update メソッド Delete : destroy メソッド バリデーションをかけるのもこのファイル validates_presence_of : 空っぽのときエラー validates_numericality_of : 数値でないときエラー validates : その他

解説2・ scaffold を実行 view /views/layouts/xxx.html.erb + /views/xxx/yyy.html.erb で画面を作成 xxx : controller 名 yyy : action 名 layout の yield に埋め込まれる

解説2・ scaffold を実行 routes.rb map.resources メソッドが追加 CRUD にアクセスする URL を設定 /books/new => new メソッド /books/1 => show メソッド( ID は 1 番) /books/1/edit => edit メソッド( ID は 1 番) URL に変換するキーワードを設定 books_url => index メソッド new_book_path => new メソッド edit_book_path(1) => edit メソッド( ID は 1 番)

解説2・ scaffold を実行 migration データベースを操作するファイル create_table : テーブルを作成 drop_table : テーブルを削除 add_column : カラムの追加 remove_column : カラムの削除

練習問題 1.本の状態を「貸出中」にするリンク を作る 2.本の状態を「本棚」にするリンクを 作る 3.書名がない本をはじく 4.値段が数字でない本をはじく 5. 300 円以上の本だけを表示する

練習問題 1.本の状態を「貸出中」にするリンクを作る 1. メソッドを作成する ( app/controllers/books_controller.rb ) 2. メソッドへのアクセス方法を指定する ( config/routes.rb ) 3. リンクを作る ( app/views/books/index.html.erb ) 3.書名がない本をはじく 1. 書名にバリデーションをつける

終わり 資料 moon/study2008.ppt 今日の資料 moon/study2008.ppt Rails の取扱説明書(英語)