今回の記事では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
gはgenerateの略で、「generate」と書いても「g」の様に省略して書くことも可能です。
また、このコマンドを実行すると下記の5つのファイルが作成されます。
- controller
- view
- helper
- test
- scss
また、ファイルが生成される他にRoutesファイルにルートの記述も追加されます。
Modelをコマンドで作成
generateコマンドを使ってmodelの生成も可能。
Console
$ rails g model User name:string
このコマンドを実行するとController生成時と同様に、関連するファイルが生成されます。
- 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を使う
特定のテーブルの内容を全件取得する場合は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を使っていく上で必ず必要な内容なので、しっかりとマスターしておきましょう。
- Ruby初心者に向けた学習ロードマップ!挫折しないための学習方法!
- 【初心者向け】MacでRailsを使えるようにするための環境構築方法を徹底解説!
- 【初心者向け】RailsでMySQLを使うための手順をコマンド付きで解説!
- Railsが難しい理由を現役エンジニアが解説!学習効率を上げるには○○を高めるべき!
- Rails初心者に向けたコマンドまとめ!newやgenerateコマンド、簡単に使える便利関数を紹介!
- Railsでルーティングを作成!ネストやパラメーターを取得する方法も解説!
- Railsの部分テンプレートの書き方をコード付きで解説!引数の渡し方やディレクトリ名の悩みとはおさらば!
- Railsでリンクヘルパー(link_to)を使ってサクッとリンクを生成する方法を解説!