つぶやきアプリを作ってみる
初めてのRailsアプリケーション開発(1/3) − @ITを参考に、railsでつぶやきアプリを作ってみることにしよう。初めてのRailsアプリケーション開発(1/3) − @ITでは、3rdRailを使うことになっているが、有償のアプリを使わないっていうチャレンジをしてみることに。
rails関連のインストール
% sudo port install rb-rails
-
-
- > Fetching ruby
- > Attempting to fetch ruby-1.8.7-p160.tar.bz2 from ftp://ftp.iij.ad.jp/pub/lang/ruby/1.8
-
-
-
- > Attempting to fetch rubygems-1.3.1.tgz from http://distfiles.macports.org/ruby
-
-
-
- > Attempting to fetch activesupport-2.2.2.gem from http://distfiles.macports.org/ruby
-
-
-
- > Attempting to fetch actionpack-2.2.2.gem from http://distfiles.macports.org/ruby
-
-
-
- > Attempting to fetch actionmailer-2.2.2.gem from http://distfiles.macports.org/ruby
-
-
-
- > Attempting to fetch activerecord-2.2.2.gem from http://distfiles.macports.org/ruby
-
-
-
- > Attempting to fetch activeresource-2.2.2.gem from http://distfiles.macports.org/ruby
-
-
-
- > Attempting to fetch rake-0.8.3.gem from http://distfiles.macports.org/ruby
-
-
-
- > Attempting to fetch sqlite3-ruby-1.2.4.tar.bz2 from http://distfiles.macports.org/ruby
-
-
-
- > Attempting to fetch rails-2.2.2.gem from http://distfiles.macports.org/ruby
-
あれ?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
-
-
- > Cleaning rb-rubygems
-
あれ?ちょっと、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して、Safariでhttp://localhost:3000/hitokotosを見てみると、とりあえず動作していることが分かるはずだ。
というワケで、初めてのRailsアプリケーション開発(3/3) − @ITのところまでは、できた。続きは、また今度。