はじめに
初心者なりにまとめたものになりますので、諸先輩方からは何書いてんだおめえと感じる部分があると思います。
そう感じた際は、お手数ですが、コメント頂けると幸いです。
内容としては、 コントローラー作成からマイグレーションになります。
目次
-
一覧機能を実装する手順
-routes.rbファイルの編集
-ルーティングの確認
-コントローラーの作成
-indexアクションの定義
-ビューファイル作成・編集
-ビューの実装確認
-モデルの作成
-マイグレーションファイルの編集
-マイグレーションの実行
routes.rbファイルの編集
-
app/config/routes.rbに存在するファイルの編集
初期は
Rails ------ do
~~
end
が存在し、~~の箇所へ下記のコードを入力
※作成したばかりの時は、~~の中身は削除する
get 'posts', to: 'posts#index'
HTTPメソッド 'URIパターン', to: 'コントローラー名#アクション名'
解説
HTTPメソッドは行いたいリクエストの種類で異なる
URIパターンはリクエストのパスで異なる(URLのような物)
コントローラー名とアクション名はリクエストに対して行いたい処理で異なる
ルーティングの確認
ターミナルを開き、上で編集したアプリのディレクトリへ移動
下記のコードを実行する。
rails routes
実行後、下記のコードが表示されていればルーティングができている
Prefix Verb URI Pattern Controller#Action
posts GET /posts(.:format) posts#index
コントローラーの作成
ターミナル上でアプリ名のディレクトリにいることを確認(pwd
)し、下記コマンドを実行
rails g controller posts
rails g controller (コントローラー名の複数形)
indexアクションの定義
VS Code上のposts_controller.rbで、下記のようになっている事を確認
class PostsController < ApplicationController
~~
end
~~の部分へ以下へ書き換える。
class PostsController < ApplicationController
def index
end
end
ビューファイルの作成・編集
app/views/postsに、index.html.erbのファイルを作成する
作成したファイルに以下を記述する。
<h1>トップページ</h1>
作成後、rails s
でサーバーを起動し、下記URLへアクセス
http://localhost:3000/posts
トップページと表記されたページがアクセス出来ればOK
モデルの作成
ターミナル上で作成したアプリ名のディレクトリにいることを確認(pwd
)し、下記コマンドを実行
rails g model post
rails g model (モデル名の単数系)
マイグレーションファイルの編集
モデル作成時に作成される、マイグレーションファイルを編集する
db/migrate/20XXXXXXXXXXXX_create_posts.rbに作成されているファイルが以下のようになっている事を確認(20XXXXXXXXXXXXは作成時に決まる)
class CreatePosts < ActiveRecord::Migration[6.0]
def change
create_table :posts do |t|
--
t.timestamps
end
end
end
--となっているところへ、下記を記述
t.text :memo
t.(追加したいカラムへ入れる値の型) :(カラムの名前)
解説
t.text :memo のような記述は追加したいカラムの数が複数あれば、改行する事で、複数のカラムを追加出来る
追加したいカラムへ入れる値の型はいくつか種類があり、下記へ記す
カラムの型:値の説明
integer:数値
string:文字(短文)
text:文字(長文)
boolean:真or偽
datetime:日付と時刻
マイグレーションの実行
ターミナル上で、作成したアプリ名のディレクトリにいることを確認( pwd
)し、下記コマンドを実行
実行後は、Sequel Proへマイグレーションファイルで編集したカラムが追加される
rails db:migrate
おわりに
以上、自分の備忘録&アウトプットも兼ねて書いて見ました。
ご覧頂き、ありがとうございました