Ruby on Railsでアプリを作るための流れ的なメモ。すぐ忘れてしまうので。「bbs」というアプリを作ります。railsコマンドでアプリ名であるbbsをつけて実行。デフォルトのDBはSQLiteなのでMySQLにしたい場合は「-d mysql」をつけるとよし。



> rails bbs
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 db/seeds.rb
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


コントローラーを作成する(この段階では雛形)。コントローラー名は「contents」とした。

> cd bbs
>ruby script/generate controller contents
exists app/controllers/
exists app/helpers/
create app/views/contents
exists test/functional/
create test/unit/helpers/
create app/controllers/contents_controller.rb
create test/functional/contents_controller_test.rb
create app/helpers/contents_helper.rb
create test/unit/helpers/contents_helper_test.rb


app/controllersの中に「contents_controller.rb」ができるので、アクションを実装する。今回は何もしないアクションindexだけ実装しておく。
[ruby]
class ContentsController < ApplicationController
def index
#何もしない
end
end
[/ruby]views/contentsの中にビューを作成する。ファイル名は決まっていてアクション名.html.erbとする。これは手動で作成する必要あり。とりあえず以下のように書けばHello!という文字がブラウザに表示されるようになる。
[html]



Hello


Hello!


[/html]最後にサーバーを起動させる。

> ruby script/server
=> Booting Mongrel
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server


ブラウザからアクセスする時は「http://localhost:3000/アプリ名/コントローラー名/アクション名」でアクセスする。今作った環境であれば「http://localhost:3000/bbs/contents/index」でアクセスする。

RailsのバージョンによってはNo route matches "/bbs/contents/index" with {:method=>:get}みたいなメッセージが出て表示できないみたいなので、その時はconfig/environment.rbに以下の一文を追加する。

[ruby]
ENV['RAILS_RELATIVE_URL_ROOT'] = "/bbs"
[/ruby]これで一番簡単なRailsアプリが表示できるようになります。