Ruby on Railsにとうとう触れる

先日MVCに関して改めて学んだことだし*1,コードを書かずしてわかったつもりになってはいけない.

大学に編入して,公式や理論を知っているのに現物を触ったこともない*2という学生に愕然し苛立っていながら,自分も同じことをしているんではないかという最近の焦燥感からだ.

コーディングも最近は本当にご無沙汰で,つい先日半年くらいぶりに自分の書いたコードを見てあまりの読めなさにも泣けてきた.自分でノートに書いた板書を読めないくらい情けない.自分の字くらい読めろよって.

ということで,PHP以外にも触りたかったのでRailsを選んだ.Perlを選ばなかったのは別にはてなに対しての背徳からとかではありません.微妙に似ているPHPと混同するのが嫌だからです.(Perlerな皆さんに失礼かもしれませんが)

以下メモ.

インストール

端末がMacかつLeopardなので既にRoRはインストール済.手っ取り早い.
まずはgemのアップデート.gemそのものとパッケージを.

$sudo gem update --system
$sudo gem update

データベースはMAMPMySQLをインストール済.また手っ取り早く通過.

プロジェクト生成

早速Railsプロジェクトを生成.

$rails hello

しかし,このようなエラーが発生.

in `report_activate_error': Could not find RubyGem activeresource (= 2.1.0) (Gem::LoadError) 

いつもこういうところでつまずいて灰皿を埋める勢いなのでちゃんと英語を読む.
gemのパッケージのacutiversourceがないんだね.そうなんだね.
ということでインストール.

$sudo gem install activeresource

再びプロジェクトを生成.

$ rails hello
      create  
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  script/performance
      create  script/process
      create  test/fixtures
      create  test/functional
      create  test/integration
      create  test/unit
      create  vendor
      create  vendor/plugins
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  Rakefile
      create  README
      create  app/controllers/application.rb
      create  app/helpers/application_helper.rb
      create  test/test_helper.rb
      create  config/database.yml
      create  config/routes.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_rails_defaults.rb
      create  config/boot.rb
      create  config/environment.rb
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/environments/test.rb
      create  script/about
      create  script/console
      create  script/dbconsole
      create  script/destroy
      create  script/generate
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  script/performance/request
      create  script/process/reaper
      create  script/process/spawner
      create  script/process/inspector
      create  script/runner
      create  script/server
      create  script/plugin
      create  public/dispatch.rb
      create  public/dispatch.cgi
      create  public/dispatch.fcgi
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/images/rails.png
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log

わーいできたー!

動作確認

早速ブラウザで確認しなければ.
WEBrickという便利な即席HTTPサーバ様を起動.

$./hello/script/server

そしてhttp://localhost:3000/へアクセス.

おおー!ようこそされちゃった.

ということで

本日はここまで.
明日が久しぶりに丸一日休みなので,練習がてら何か一つ動くサービスを作ってみようと思う.難問はrubyの記述そのものが全くわからないことだ.

こちらにぽちぽちとメモしていくのでRoR素人にお付き合い宜しくお願いします.
アドバイス大歓迎です.

*1:http://d.hatena.ne.jp/hxmasaki/20080616/1213619807

*2:大学の実験で抵抗器を生まれて初めて見たなんて人も