ビューとコントローラ.

Slides:



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

年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
Ruby on Rails (RoR) 講習会 近畿大学大学院 田中大介. 本日の目標 Web アプリケーションを作ろう!
Cubby Web アプリケーションのためのシ ンプルなフレームワーク BABA Yasuyuki.
1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
Cygwin 上の inetd /etc/inetd.conf /etc/inetd.conf 環境変数 CYGWIN と PATH の確認 環境変数 CYGWIN と PATH の確認 サービスへの登録と起動 サービスへの登録と起動 ftp サービスへのアクセスの確認 ftp サービスへのアクセスの確認.
BBT 大学 Ruby on Rails 開発環境セットアップマニュアル Mac 版 1.1 最終更新日: 2013/1/5.
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
BBT大学 Ruby on Rails開発環境セットアップマニュアル
RailsによるAjaxの利用 回生 小野 実.
TeX で数式を書くための PowerPoint アドイン Ver (2011/06/26) Ver. 0.1 (2007/5/30)
大杉 直樹†, 神谷 年洋‡, 門田 暁人†, 松本 健一† †奈良先端科学技術大学院大学 情報工学科 {naoki-o, akito-m,
JXTA Shell (3) P2P特論 (ソフトウェア特論) 第6回 /
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
JPAを利用した RESTful Webサービスの開発
JSFによるWebアプリケーション開発 第9回
IDLTM/IONTMを使用した UDON (Universe via Darts ON-line) プロトタイプの作成
北海道大学 理学院 宇宙理学専攻 惑星宇宙グループ 博士1 年 三上 峻
第4回 iPhoneアプリ開発勉強会 Objective-C 基礎講座 -クラス- 鷲見政明.
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
エンタープライズアプリケーション II 第10回 / 2006年7月23日
Servlet J2EE I 第8回 /
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
吉田和弘 株式会社ミッタシステム Rubyのすすめ 吉田和弘 株式会社ミッタシステム
JavaServlet&JSP入門 01K0018 中村太一.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
BlueBeanClientを用いた連携の概要
Bottle/Pythonによる Webアプリ入門
webブラウザ proxy設定 (HTTP1.0)
フォームからリクエストを受け取る <2/6>
WebサービスII (第8回) 2007年11月14日 植田龍男.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
Curlの仕組み.
JSFによるWebアプリケーション開発 第6回
HTTPプロトコル J2EE I 第7回 /
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
JSPの作成 J2EE II 第3回 2005年4月10日.
情報学部 プログラミング体験教室 (初級編)
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
第8章 Web技術とセキュリティ   岡本 好未.
2003年度 データベース論 安藤 友晴.
Unity, C# シーン移動と1人称視点.
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
Javaによる Webアプリケーション入門 第6回
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
Jakarta Struts (2) ソフトウェア特論 第11回.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
Javaによる Webアプリケーション入門 第11回
コンピュータ プレゼンテーション.
Servlet J2EE I (データベース論) 第12回 /
JSFによるWebアプリケーション開発 第3回
JXTA Shell (2) P2P特論 (ソフトウェア特論) 第5回 /
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
高度プログラミング演習 (01).
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
C#プログラミング実習 第3回.
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
Action Method の実装 J2EE II 第9回 2004年12月2日.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
ネットワークプロトコル.
JSFによるWebアプリケーション開発 第7回
3.テキストボックスによる データ入力 データ入力と表示のプログラム.
Presentation transcript:

ビューとコントローラ

やりたいこと http://localhost:3000/hello/input にアクセス 名前を入力すると http://localhost:3000/hello/greeting で挨拶してくれる データベースは利用しない ビューとコントローラ

Railsのプロジェクト作成 以下のコマンドを入力して、helloというプロジェクトを作成する andoh$ rails hello ビューとコントローラ

コントローラの作成 hello ディレクトリに移動して、次のコマンドを実行 andoh$ ruby script/generate controller hello input greeting hello というコントローラと、input と greeting というアクションを作成する。 ビューとコントローラ

生成された app/controllers/hello_controller.rb # ApplicationControllerを継承 class HelloController < ApplicationController #inputアクション def input end # greetingアクション def greeting ビューとコントローラ

URLとコントローラ http://localhost:3000/hello/input http://localhost:3000/hello/greeting hello がコントローラ名 inputとgreetingがアクション名 # コントローラ名は Hello + Controller class HelloController < ApplicationController #inputアクション def input end # greetingアクション def greeting ビューとコントローラ

Railsアプリケーションの動作 DispatcherがRequestを受け取る (HTTP) コントローラとアクションを決定 コントローラ中のアクションが処理 ビューを処理 ブラウザにResponseを返す (HTTP) ビューとコントローラ

Railsのビュー eRubyフォーマットの実装であるERBが担当 “(アクション名).rhtml” というファイル名 eRubyはRubyのテンプレートエンジン “(アクション名).rhtml” というファイル名 ビューとコントローラ

サーバを起動する ruby script/server コマンドを実行 WEBrick という Rails組み込みのWebサーバが起動される デフォルトでは3000ポートで起動 アクションに対応したビューが表示される http://localhost:3000/hello/input http://localhost:3000/hello/greeting ビューとコントローラ

app/views/hello/input.rhtmlに フォームを追加 <h1>お名前を入力</h1> <% form_tag :action => :greeting do %> <%= text_field :input, :name %> <%= submit_tag 'OK' %> <% end %> ボタンを押したらgreetingアクションに移る text_filed object_name, method, options = {} ビューとコントローラ

app/controllers/hello_controller.rb を編集 # @params はパラメータ情報を管理するため # のインスタンス変数 # アクションで定義されたインスタンス変数は # ビューで利用できる def greeting @str = @params.inspect end ビューとコントローラ

app/views/hello/greeting.rhtml を編集 <%= @str %> greetingアクションの@str変数の値を 表示 ビューとコントローラ

実行 input のテキストフィールドに「安藤友晴」と入力してボタンを押すと greeting で次の文字列が表示される { "commit"=>"OK", "action"=>"greeting", "controller"=>"hello", "input"=>{"name"=>"安藤友晴"} } これがパラメータの情報になる ビューとコントローラ

greetingで名前を表示する app/controllers/hello_controller.rb を編集 def greeting @name = @params[:input][:name] end app/views/hello/greeting.rhtmlを編集 <h1>ごあいさつ</h1> <%= "こんにちは、#{@name}さん" %> <% form_tag :action => :input do %> <%= submit_tag '戻る' %> <% end %> ビューとコントローラ

config/routes.rb ActionController::Routing::Routes.draw do |map| map.connect ':controller/service.wsdl', :action => 'wsdl' map.connect ':controller/:action/:id.:format' map.connect ':controller/:action/:id' end # map.connect ‘:controller/:action/:id’ に着目 # URLの形式が <コントローラ名>/<アクション名>/<id> で # あることを示している # このファイルに # map.connect 'h/:action/:id', :controller => 'hello' # を追加したらどのように動くだろうか? ビューとコントローラ