- プロジェクト作成
sudo gem install sqlite3 execjs therubyracer
#デフォルトはsqlite3。それ以外は「rails new hello -d mysql」など
rails new hello
Enter your password to install the bundled RubyGems to your system: ログインユーザのパスワードを入れる。足りないgemをインストールされる
- エラー「/usr/local/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)」
- デモアプリ用に準備
cd hello
# Postという名前のモデル、ビュー、コントローラーを作成
rails generate scaffold Post name:string title:string content:text
# DBを作成
rake db:create
# テーブルを作成
rake db:migrate
# 現在のルーティングを確認
rake routes
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
- 開発用WEBサーバ(WEBrick)を起動。TCP:3000ポート
- ブラウザで http://192.168.1.x:3000/ を開く
- 「About your application’s environment」リンクをクリックすると環境がわかる
- 追加したpostsコントローラを見てみる
- ブラウザで http://192.168.1.x:3000/posts を開く
- Listing postsから追加、編集、削除等々が出来ることを確認
- topページのコントローラをpostsコントローラに変更してみる
# indexページを削除
rm public/index.html
vi config/routes.rb
----
Hello::Application.routes.draw do
resources :posts
root :to => "posts#index"
end
----
rails server
- ブラウザで http://192.168.1.x:3000/ を開いて見る。postsコントローラが表示されれば成功