Rails初心者に向けたコマンドまとめ!newやgenerateコマンド、簡単に使える便利関数を紹介!

3 min
Rails初心者に向けたコマンドまとめ!newやgenerateコマンド 簡単に使える便利関数を紹介!

今回の記事ではRuby On Railsを学び始めてまだ間もない方が、知っておくべきコマンドや便利なメソッドを紹介して行きます。

RubyのフレームワークであるRuby On Railsが使いこなせるようになると、ウェブサービスも簡単に作れるようになるので、是非これを機会に学んで行きましょう。

プログラミングは言葉だけでは伝えにくい部分も多いので、今回の記事ではコードやコマンドもセットで紹介しています。

Railsプロジェクトをnewコマンドで作成

Railsのプロジェクトを作成するためのコマンド。

実行するとRailsを起動するために必要なファイル郡が一気に生成される。

Console


$ rails new new-application

Railsサーバーの起動

Console


$ rails server
https://himakuro.com/wp-content/uploads/2018/12/himakuro-plain-reverse.png

「server」は「s」に省略することも可能だよ!

Controllerをコマンドで作成

新規でControllerを生成したい時に使用。

Console


# User Controllerを作成しindexアクションを追加
$ rails g controller User index

gはgenerateの略で、「generate」と書いても「g」の様に省略して書くことも可能。

また、このコマンドを実行すると下記の5つのファイルが作成されます。

generate controllerで生成されるファイル群

  1. controller
  2. view
  3. helper
  4. test
  5. scss
https://himakuro.com/wp-content/uploads/2018/12/himakuro-plain-reverse.png

ファイルが生成される他に、Routesファイルにルートの記述も追加されるよ!

Modelをコマンドで作成

generateコマンドを使ってmodelの生成も可能。

Console


$ rails g model User name:string

このコマンドを実行するとController生成時と同様に、関連するファイルが生成されます。

generate modelで生成されるファイル群

  1. model
  2. test
  3. 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を使っていく上で必ず必要な内容なので、しっかりとマスターしておきましょう。

Sponsored Link
himakuro

himakuro

新卒で入社したブラック企業から脱出して超ホワイトな会社に転職。エンジニア歴は7年で普段はウェブサービス作ったりブログを書いたり、MENTAで未経験者の方にプログラミングを指導しています。

カテゴリー:
関連記事

コメントを残す