Cloud9

[Ruby]Ruby on Railsのscaffoldの使い方

2016年8月28日

rails アプリケーションを開発する場合、
モデルやコントローラー、ビューを作っていき、必要なルーティングを作成していく必要があります。

しかし、初心者の場合、これらを作成しようとすると挫折する可能性が高くなるため
最初は scaffold という機能を使い、雛形を作ったほうがわかりやすく学習できます。

なお、scaffold はターミナルからの操作となります。

構文は

rails generate scaffold モデル名 カラム名1:データ型1 カラム名2:データ型 2 …

となります。

今回は、よく使うものとしてユーザ管理を目的としたひな形を作成します。
まずは rails アプリを作成し、そこからコマンドを実行していきます。

今回は 以前に作成した ibc-ruby を使って実践します。
なお、同じものを作りたい場合には cloud 9 で rails 環境を作成し、

rails new ibc-rails

を実行しましょう。

cloud 9 での rails 環境の構築については、
[Ruby]cloud9 への rails の導入
に書かれています。

それでは実践してみましょう。
今回は、ユーザ管理機能を作成します。

User モデルを作成し、名前を表す name 属性と、
年齢を表す age 属性をもつように作成します。

ターミナルで

rails g scaffold user name:string age:integer

を実行します。

rails コマンドを実行するときには generate は g と省略することが可能です。

コマンドを実行すると、必要なファイルが自動生成されます。

Screenshot from 2016-08-27 22:42:21

これで、アプリのひな形はできましたが、次にデータベースのテーブルの作成をする必要があります。

データベースのテーブルを作成するには、マイグレーションファイルを使います。
このマイグレーションファイルは、scaffoldで自動生成されます。

書式は

db/migrate/タイムスタンプ_create_users.rb

となります。

今回の場合では

db/migrate/20160827133953_create_users.rb

になります。

次に、ターミナルでコマンドを実行し、テーブルを作成します。

rake db:migrate

を実行しましょう。

Screenshot from 2016-08-27 22:49:42

これでアプリができたので、起動させてみましょう。
ターミナルで以下のコマンドを実行することでアプリの起動ができます。

rails s -p $PORT -b $IP

コマンドを実行すると、アプリのURLが表示されるので、
URLをクリックし、
/users を最後につけると、今回作成したアプリにアクセスできます。

Screenshot from 2016-08-27 22:58:56

Screenshot from 2016-08-27 23:04:41

この今回作成されたアプリではすでに caffold により、ユーザの作成、編集、削除機能が自動で追加されています。

それでは、今回の要点をまとめてみましょう。
・caffold を使うことで、アプリのひな形を作成できる。
・作成したアプリに対して rake db:migrate を実行しテーブルを作る必要がある。

簡単なアプリの検証などには使えるので、試してみましょう。

ランキング記事

  • 該当なし
Page Top