つぶやきアプリを作ってみる

初めてのRailsアプリケーション開発(1/3) − @ITを参考に、railsでつぶやきアプリを作ってみることにしよう。初めてのRailsアプリケーション開発(1/3) − @ITでは、3rdRailを使うことになっているが、有償のアプリを使わないっていうチャレンジをしてみることに。

rails関連のインストール

MacPortsrails関連をインストールする。

% sudo port install rb-rails
...(中略)...
...(中略)...
...(中略)...
...(中略)...
...(中略)...
...(中略)...
...(中略)...
...(中略)...
...(中略)...
...(中略)...

あれ?rubyのインストールもしてなかったっけか。そもそもLeopardではrailsがインストール済みなんだっけ?まぁ、いいか。Leopardで標準で入っているバージョンは、こんな感じ。やっぱりMacPortsで新しいバージョンをインストールした方が良さそうだ。

% /usr/bin/ruby --version 
ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]
% /usr/bin/rails --version
Rails 1.2.6
% /usr/bin/sqlite3 --version
3.4.0

model作成→失敗rubyの環境整備

% rails tsubuyaki
/opt/local/lib/ruby/vendor_ruby/1.8/rubygems.rb:636:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
        from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems.rb:141:in `activate'
        from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems.rb:49:in `gem'
        from /opt/local/bin/rails:18

うっ。gemsのインストールをする必要があるようだ。

% sudo port install rb-rubygems
Skipping org.macports.activate (rb-rubygems ) since this port is already active

あれ?ちょっと、rubyの環境を整えなければいけないようだ。

%  sudo gem update --system 
Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.3.2
...(以下略)...

MacPortsじゃなくて、gemからrailsをインストールする。

% sudo gem install rails
Successfully installed rake-0.8.4
Successfully installed activesupport-2.3.2
Successfully installed activerecord-2.3.2
Successfully installed actionpack-2.3.2
Successfully installed actionmailer-2.3.2
Successfully installed activeresource-2.3.2
Successfully installed rails-2.3.2
7 gems installed
Installing ri documentation for rake-0.8.4...
Installing ri documentation for activesupport-2.3.2...
Installing ri documentation for activerecord-2.3.2...
Installing ri documentation for actionpack-2.3.2...
Installing ri documentation for actionmailer-2.3.2...
Installing ri documentation for activeresource-2.3.2...
Installing RDoc documentation for rake-0.8.4...
Installing RDoc documentation for activesupport-2.3.2...
Installing RDoc documentation for activerecord-2.3.2...
Installing RDoc documentation for actionpack-2.3.2...
Installing RDoc documentation for actionmailer-2.3.2...
Installing RDoc documentation for activeresource-2.3.2...

しかし、ruby関連のドキュメントってriだったりRDocだったりで、perldocみたいに統一されてないのがどうなんだろうと、思ったり思わなかったり。

% /opt/local/bin/rails tsubuyaki
      create  
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  config/locales
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  script/performance
      create  test/fixtures
      create  test/functional
      create  test/integration
      create  test/performance
      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_controller.rb
      create  app/helpers/application_helper.rb
      create  config/database.yml
      create  config/routes.rb
      create  config/locales/en.yml
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_rails_defaults.rb
      create  config/initializers/session_store.rb
      create  config/environment.rb
      create  config/boot.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/runner
      create  script/server
      create  script/plugin
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  test/test_helper.rb
      create  test/performance/browsing_test.rb
      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

今日はここまでで、もう力尽きそうだ。

modelの登録

上記のWebSiteによると、「Hitokoto」というmodelをGUIで登録するようだ。これを、コマンドラインでやってみる。

% ./script/generate scaffold hitokoto hitokoto:string
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/hitokotos
 ...(以下略)...

3rd RailsだとDB作成までしてくれるようだが、ここは自分でやっておく。

% rake db:migrate
(in /Users/fukuit/Projects/tsubuyaki)
==  CreateHitokotos: migrating ================================================
-- create_table(:hitokotos)
   -> 0.0015s
==  CreateHitokotos: migrated (0.0017s) =======================================

あとは、./script/serverして、Safarihttp://localhost:3000/hitokotosを見てみると、とりあえず動作していることが分かるはずだ。

というワケで、初めてのRailsアプリケーション開発(3/3) − @ITのところまでは、できた。続きは、また今度。