今回の記事ではRuby On Railsを学び始めてまだ間もない方が、知っておくべきコマンドや便利なメソッドを紹介して行きます。
RubyのフレームワークであるRuby On Railsが使いこなせるようになると、ウェブサービスも簡単に作れるようになるので、是非これを機会に学んで行きましょう。
プログラミングは言葉だけでは伝えにくい部分も多いので、今回の記事ではコードやコマンドもセットで紹介しています。
目次
Railsプロジェクトをnewコマンドで作成
Railsのプロジェクトを作成するためのコマンド。
実行するとRailsを起動するために必要なファイル郡が一気に生成される。
Console
$ rails new new-application
Railsサーバーの起動
Console
$ rails server

「server」は「s」に省略することも可能だよ!
Controllerをコマンドで作成
新規でControllerを生成したい時に使用。
Console
# User Controllerを作成しindexアクションを追加
$ rails g controller User index
gはgenerateの略で、「generate」と書いても「g」の様に省略して書くことも可能。
また、このコマンドを実行すると下記の5つのファイルが作成されます。
generate controllerで生成されるファイル群
- controller
- view
- helper
- test
- scss

ファイルが生成される他に、Routesファイルにルートの記述も追加されるよ!
Modelをコマンドで作成
generateコマンドを使ってmodelの生成も可能。
Console
$ rails g model User name:string
このコマンドを実行するとController生成時と同様に、関連するファイルが生成されます。
generate modelで生成されるファイル群
- model
- test
- migration
Modelを作成したら必ずmigrateする
他のフレームワークの場合はmigrationファイルを追加しただけではエラーになりませんが、Railsではgenerate modelをしたらmigrateしないと全てのページでエラーになります。
Console
$ rails db:migrate
generate model をしたら必ずdb:migrateを実行しましょう。
テーブルカラム追加の場合はmigrationファイルのみ作成する
migrationファイルとmodelファイルをセットで作りたい時は1つ前に紹介した「generate model」で作成出来ます。
しかしテーブルのカラム追加や削除をする場合にも同じコマンドを使ってしまうと、すでにmodelが存在するのでエラーになります。
そこでカラム追加・削除の場合は「generate migration」を使いましょう。
Console
$ rail g migration add_image_column_to_users
テーブルのカラム追加・削除を行う
カラム追加・削除のためにmigrationファイルをコマンドで作成をしても、中身は空の状態なので実行しても何も起きません。
コマンドで生成したファイルには「change」メソッドが用意されているので中身を自分で書いて行きましょう。
カラム追加・削除
def change
# usersテーブルにstring型のimageカラムを追加
add_column :users, :image, :string
# usersテーブルのimageカラムを削除
remove_column :users, :image, :string
end
全件取得はallを使う
全件取得方法
# Postテーブルから全件取得
Post.all
find_byは1件のみ取得
「find_by」は条件に該当するレコード全て引っ張ってきてくれそうですが条件に該当する1件しか取得してくれません。
条件に該当するレコード全て欲しい場合は「where」を使いましょう
データ取得方法
# 1件しか取得出来ない
Post.find_by(user_id: 1)
# 条件に該当するレコード全て取得可能
Post.where(user_id: 1)
flashを使って一度だけメッセージを表示
登録完了や削除完了など、ユーザーのアクションに応じて1度だけメッセージを表示したい時に使えるのがflashです。
flashの使い方
flash[:notice] = "表示内容"
まとめ
今回の記事ではRails初心者に向けた最初に知っておくべきコマンドや便利関数などを紹介しました。
今回紹介した内容はRailsを使っていく上で必ず必要な内容なので、しっかりとマスターしておきましょう。