fugafuga.write

アウトプットする用



Ruby on Rails4 の scaffold で簡単サンプルアプリ作成

f:id:tokoyax:20150228150613j:plain


scaffold って何?

rails のコードジェネレータの機能の一つで、MVCのアプリケーションサンプルをコマンド一発で作成してくれます。

作成してみる

scaffold で member テーブルを持つテンプレートアプリを作成。

$ rails generate scaffold member name:string age:integer team:string

member テーブルに、カラム名:データ型 の項目を作成しますよ。という意味です。


サーバー起動

$ rails s -b 0.0.0.0

ActiveRecord::PendingMigrationError が発生しました。



テーブルが無かったので作成します。

$ rake db:migrate

rails では、テーブルの作成をマイグレーションという機能を使用して行います。

myapp/db/migrate 配下に、マイグレートファイルが格納されています。
このファイル内にテーブル定義を記述し、rake db:migrate コマンドで実際のDBに反映させます。
DBを直接触らなくて良いのは楽です。

# 20150304114241_create_members.rb
class CreateMembers < ActiveRecord::Migration
  def change
    create_table :members do |t|
      t.string :name
      t.integer :age
      t.string :team

      t.timestamps null: false
    end
  end
end


確認のため、再度サーバー起動

$ rails s -b 0.0.0.0

Could not find a JavaScript runtime. のエラー発生。
Javascript のエンジンが無いとのことなのでインストールします。

yum で nodejs をインストール

sudo yum install -y nodejs

GemFile に以下を追加

gem 'libv8'
gem 'execjs'
gem 'therubyracer', :platforms => :ruby

bundler で gem をインストール

$ bundle install --path=vendor/bundle --binstubs=bundle_bin

サーバー起動

$ rails s -b 0.0.0.0


アクセスできました。
Create(作成)、Read(参照)、Update(更新)、Delete(削除) が行えます。


・サンプルアプリの画面
f:id:tokoyax:20150304224323j:plain

f:id:tokoyax:20150304230905p:plain

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング



[参考]
4. scaffoldを利用した開発(1) | TECHSCORE(テックスコア)
1. マイグレーション(1) | TECHSCORE(テックスコア)