Windows環境での練習ではありますが、Ruby on Railsでユーザー・ログイン機能付きの旅行日記アプリケーションを制作してみた。
旅行日記のコメントとともに、行った場所(地名)を投稿でき、地名からYahoo地図情報APIを引っ張ってきて、地図を表示するというアプリ。
データベース絡むアプリだと、公開するにはセキュリティとかもう少し勉強が必要だろうなぁ。
Ruby on Railsは、WEBアプリケーション制作用のフレームワークです。
CRUD処理(Create, Read, Update, Delete:SQLのINSERT, SELECT, UPDATE, DELETEに相当)をメインとするようなWEBアプリケーションを、コーディング量が少なく書けるのが魅力と言われています。
RoRを使うと、生のSQL文を書く必要はほとんど無いので、この点はすごく楽。
生のSQL文の代わりに、ActiveRecord::Baseクラスのfindメソッド(クラスメソッド)を多用します。
ActiveRecord::Baseは、Railsのモデルクラスが継承するクラスで、データベースをオブジェクトとして扱い、DBのテーブル名(小文字の複数形)とモデルクラス名(先頭大文字の単数形)が対応する。
ActiveRecordの資料
Rubyist Magazine - RubyOnRails を使ってみる 【第 3 回】 ActiveRecord
Ruby on Rails - ActiveRecord - — ありえるえりあ
Active Record - Wikipedia
Class: ActiveRecord::Base
Rails' Wiki - ActiveRecord
RailsのDBのテーブル名は、原則的に小文字の複数形であり、モデルクラス名は、DBテーブル名を単数形にして、先頭文字を大文字にしたものとなります。
例を挙げると・・・
DBテーブル名: places
モデルクラス名: Place (place.rb)
コントローラークラス名: PlacesController (places_controller.rb)
ビューフォルダ名: places
という対応となります。()内は、ファイル名です。
モデルと共に、コントローラーとビューに関しても名前が対応するようになっています。
ビューに関しては、placesフォルダ以下に対応するメソッドのテンプレートができる。
places/index.html.erb, places/edit.html.erb など。
DBテーブルに対して操作を行う場合には、findメソッドを駆使するわけですが、実際に発行されるSQL文はどうなっているのだろうか・・・、SQLインジェクション対策は大丈夫だろうか・・・などの心配も多少あったので、実際にRailsアプリで発行されるSQL文を確認してみることにしました。
長くなったので、続きは次のページで。
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/432