マガジンのカバー画像

RailsでCRUDをつくってみる

10
RailsでCRUDをつくってみます。初心者向けの記事になってます。
運営しているクリエイター

#rails

CRUD を作成⑩

CRUD を作成⑨ の続き。 今回は削除の処理を作成していく。 app/controllers/books_controller.rb を以下のように修正する。 def destroy book = Book.find(params[:id]) book.destroy redirect_to books_pathend いつも通り、テストを実行する。レッドになるため、以下のようにspec/requests/books_spec.rb を修正する。 describ

CRUD を作成⑨

CRUD を作成⑧ の続き。 今回は編集ページを作成する。 app/controllers/books_controller.rb を以下のように修正する。 def edit @book = Book.find(params[:id])end テストを実行する。レッドになる。 bundle e rspec spec/requests/books_spec.rb....F..Failures: 1) Books GET /books/:id/edit returns

CRUD を作成⑧

CRUD を作成⑦ の続き。 ブラウザからデータを登録できるか確認する。 作成ボタンを押す。一覧ページを見てみる。 先ほど登録した名前で一覧ページに表示されていれば登録できたことを確認できる。 登録後にどこかのページにリダイレクトするように修正する。 app/controllers/books_controller.rb を以下のように修正する。 def create @book = Book.new(book_params) if @book.save re

CRUD を作成⑦

CRUD を作成⑥ の続き。今回はデータを新しく作成できるようにする。 app/controllers/books_controller.rb に以下のコードを追加する。 def new @book = Book.newend テストを実行する。 bundle e rspec spec/requests/books_spec.rb グリーンになる。追加した変更は既存のコードに何も影響を与えていないことがわかる。 app/views/books/new.html.er

CRUD を作成⑥

CRUD を作成⑤ の続き。 前回は詳細ページの表示に成功したが、表示されるデータが常に同じという問題があった。 app/controllers/books_controller.rb のコードは現在以下のようになっている。 def show @book = Book.find(1)end 現状のコードは find の引数に 1 と指定されている。この値が常に固定されているため、表示されるデータが常に同じという問題が発生している。 これを以下のように修正する。 def

CRUD を作成⑤

CRUD を作成④ の続き。 前回は一覧ページを作成したので、今回は詳細ページを作成する。 詳細ページへのリンクを作成するため、一覧ページを修正する。 そのために、詳細ページへのパスを確認する。 以下のコマンドを実行する。 bundle e rails routes -g book 出力された結果から、詳細ページのルーティングは以下だとわかる。 book GET /books/:id(.:format) books#show URLヘルパーは一番左側

CRUD を作成④

CRUD を作成③ の続き。 前回はモデルとテーブルを追加したので、今回はビューにデータを表示できるようにしていく。 一覧ページから作成していくが、まだブラウザからデータを作成できるようにしていないため、表示するデータを作成するため seed.rb にデータを作るコードを追加する。 ※ 作成する件数は適宜調整 book_attributes = (1..100).map { |n| { title: "本#{n}" } }book_attributes.each { |bo

CRUD を作成③

CRUD を作成② の続き。 前回はコントローラを作成したので、今回はモデルとテーブルを作成する。 以下のコマンドを実行する。 bundle e rails g model book title:string 以下のように様々なファイルが生成される。 invoke active_record create db/migrate/20230126045507_create_books.rb create app/models

CRUD を作成②

CRUD を作成 の続き。 前回はルーティングを作成したので、今回はコントローラを作成する。 以下のコマンドを実行する。 ルーティングは作成済み、ヘルパーは使用しないのでオプションを追加しコマンドを実行する。 rails g controller books index show new create edit update destroy --no-helper --skip-routes 以下のように出力されていれば成功。私の環境では rspec を使用しているので

CRUD を作成

Webアプリケーションの基本であるCRUDを作成する。 CRUD とは については wiki を参照。 要するに、データを 生成(作成)・読み取り(取得、検索)・更新・削除 する処理のことである。 Railsを使用しての作成となることに注意。また、初心者向けの記事を想定しているため、なるべく例えを用いたり、専門用語を使わず、仮に使ったとして噛み砕いた形で表現することを意識している。 何から作業を始めるかについては作業者のレベルに応じて分かれるところであると個人的には考えてい