Ruby on Railsを始める
1. 前置き
1. 前提・事前作業
- こっちの投稿の内容を事前に実施済み
- 例によってドットインストールの写経
- #03 はじめてのRuby on Railsから実施
2. #03 はじめてのRuby on Rails
2-1. railsアプリケーション作成
- railsコマンドを実行(カレントディレクトリにザクザクディレクトリを作っていくっぽい)
rails new myApp
-
run bundle install
というのが実行された状態で結構長い間処理が止まったままになる。 -
ライブラリとかをインストールしてるらしい
-
終わったらら
cd myApp
でディレクトリ移動 -
サーバを起動(
server
のエイリアスでs
でもOK)
rails server
or
rails s
- エラーになる
/home/vagrant/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/execjs-2.0.2/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)
- javascriptのruntimeが見つからないとか何とか。
- Gemfileを編集してエラーを解消(アプリケーションのルートディレクトリにいる)
vi Gemfile
- 下記コメントアウトされてるのを有効化
# gem 'therubyracer', platforms: :ruby
- 再度必要なものをインストール(?)
bundle install
-
installing therubyracer 0.12.1
とか出てたので、確かに追加インストールされたっぽい。 - 改めて
rails s
- 起動した(以下、ターミナルに表示された内容。サーバ監視モード(?)になって入力は受け付けなくなるっぽい)
=> Booting WEBrick
=> Rails 4.1.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
[2014-04-13 08:19:17] INFO WEBrick 1.3.1
[2014-04-13 08:19:17] INFO ruby 2.1.1 (2014-02-24) [x86_64-linux]
[2014-04-13 08:19:17] INFO WEBrick::HTTPServer#start: pid=8720 port=3000
- ポート3000にホストOSからアクセスしてみる(ホストOSのhostsで`192.168.33.56 dev.com'としてあるので、下記URLにアクセス
- http://dev.com:3000/
- こんな画面が出る(構築はここまで)
- myAppの配下の以下のディレクトリを主に弄ることになる。
- app
- config
- db
3. #04 Scaffoldを使ってみよう
3-1. Scaffoldとは
- コードを自動生成するジェネレータ
- rails コマンドの一部
3-2. 生成してみる
-
rails s
でサーバを起動したままだと入力できないので、Ctrl + C
で一旦サーバをストップさせたうえで実行
rails generate scaffold User name:string score:integer
- こんなメッセージが
create db/migrate/20140413085337_create_users.rb
- DBに設定を反映させるためのスクリプトのようなものらしい
-
rake
コマンドで設定を反映させる
rake db:migrate
- 終わったら再度
rails s
でサーバを起動 - 下記URLにアクセスしてみる
- http://dev.com:3000/users
- New Userリンクを押下
- これでユーザを登録できるっぽい。