Ruby On Rails PR

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

Rails初心者に向けたコマンドまとめ!newやgenerateコマンド 簡単に使える便利関数を紹介!
記事内に商品プロモーションを含む場合があります

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

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

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

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

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

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

Console

$ rails new new-application

 

Railsサーバーの起動

Console

$ rails server

「server」は「s」に省略することも可能です。

 

Console

$ rails s

 

Controllerをコマンドで作成

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

Console

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

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

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

generate controllerで生成されるファイル群
  1. controller
  2. view
  3. helper
  4. test
  5. scss

また、ファイルが生成される他に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を使う

特定のテーブルの内容を全件取得する場合は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を使っていく上で必ず必要な内容なので、しっかりとマスターしておきましょう。

 

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