トップ 一覧 検索 ヘルプ RSS ログイン

Programming_rubyonrailsの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!Ruby on Rails のページ
webアプリの開発を効率化するためのフレームワーク。
バージョンによって書式がかなり異なるので注意。
Rails3は国内の書籍は数冊程度、サイトも少なめ(2011/3時点)。
海外なら多少はある模様。

*インストール
*利用
*コーディング
*Q&A
*参考

!!インストール

!インストール作業一覧
*Rubyのインストール
*gemのインストール
*railsのインストール
*mysqlのインストール

!インストール
 $ sudo apt-get install ruby gem rails
 $ sudo apt-get install mysql-server mysql-client-5.0

mysqlのインストール時パスワードを設定するのでメモしておく。

!!利用
!アプリの雛型の作成
 $ rails [アプリケーション名]
 $ rails [アプリケーション名] -d mysql (データベースまで指定する場合)
とすることで、[アプリケーション名]のディレクトリが生成され、その中にwebサイトの雛型が生成される。この後、ルートディレクトリに移動してscript内のserverスクリプトを起動すれば、webサーバーが起動する。

ex)
 $ rails test -d mysql
 $ cd test
 $ ruby script/server
これでwebサーバーが起動し、ブラウザからアクセス可能になるので、http://localhost:3000/にアクセスする。「Welcome aboard」と出れば成功。


!!コーディング

!MVC(Model View Control)
railsアプリの3つの構成要素。rails以外でもGUIアプリに一般的に用いられるデザインパターンでもある。ModelはViewの構造に依存させず、可能な限りControllerはコンパクトに作成する。

:Model:ロジック部分。データの操作、Viewへの更新通知を担当。
:View:表示処理やModelへの状態変更通知を行う。
:Controller:Viewに対するアクション(ユーザーの入力など)に対する応答の振り分け(表示するViewの選択やModelの更新指示など)を行う。

!JavaScript

試験中、動作不安定のためコメントアウト

:基本:
//ヘルパメソッドlink_to_functionを呼び出し、JavaScriptのコードを動的に生成する。

//コントローラの生成。app_rootはアプリケーションのルートディレクトリ。
// $ app_root > ruby script/generate controller ajax act1

//以下はクリックするとhello JavaScriptと表示する例。app/views/ajax/act1.html.erbを編集する。
// <%= javascript_include_tag :defaults %>
// <%= link_to_function("click",
//	"//javaScriptコード
//	 alert('hello JavaScript');") %>
//
//:Ajax:準備としてはrailsに標準で含まれているprototype.jsらをを読み込ませる
//app/views/ajax/act1.html.erbを編集。
// <%= javascript_include_tag :defaults %>
//
*link_to_remoteメソッド


!!各アプリケーションのディレクトリの構成
 [application name] 
 ┗┳app
   ┃┗アプリケーションのビュー・モデル・コントローラが格納されている。
   ┃  ┣controllers
   ┃  ┣helpers
   ┃  ┣models
   ┃  ┗views
   ┃    ┣blogs
   ┃    ┃┗html本体
   ┃   ┗layouts
   ┃     ┗htmlヘッダ
   ┣config
   ┣db
   ┣doc
   ┣lib
   ┣log
   ┣public
   ┣script
   ┃┗サーバーの起動やデータベースの生成用のスクリプトが格納されている。
   ┣test
   ┣tmp
   ┗vendor


!!Q&A
!!参考

:基本から簡易ブログの作り方などを掲載:[Ruby on  Rails Pro|http://maskana.homedns.org/rails/pro]

:ひとりったーweb版をrailsで:[CodeZine|http://codezine.jp/article/detail/5127?p=3]