Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/03 post crud #3

Merged
merged 14 commits into from Aug 3, 2022
Merged

Feature/03 post crud #3

merged 14 commits into from Aug 3, 2022

Conversation

hirohiroiida
Copy link
Owner

@hirohiroiida hirohiroiida commented Jul 23, 2022

概要

投稿のCRUD機能を作りました。

  • 画像の投稿
    Image from Gyazo

* 画像の削除

Image from Gyazo

Image from Gyazo


* バリデーションには`activestorage-validator`を使いました。

エンドポイント

やりたいこと HTTPメソッド エンドポイント コントローラ#アクション
一覧画面を表示する GET /posts posts#index
新規作成画面を表示する GET /posts/new posts#new
投稿をする POST /posts posts#create
編集画面を表示する GET /posts/:id/edit posts#new
更新する PATCH /posts/:id/ posts#update
削除する DELETE /posts/:id posts#destroy
詳細画面を表示する GET /posts/:id posts#show

確認方法

  1. Gem を追加したので bundle install を実行してください
  2. テーブルを作成したので bin/rails db:migrate を実行してください

上記エンドポイントを叩いて動作確認をしてください。

チェックリスト

  • テストを書いた
  • Lint のチェックをパスした

コメント

学んだこと

  • gem 'activestorage-validator'
  • dom_id
    イメージは掴んだが、完全には理解できていない気がします。
    もう少しパターンを抑えたいところです。
  • each_with_index メソッド
    下記例が分かりやすい。
配列.each_with_index do |item, i|
 "#{i}番目のデータは、#{item}"です。
end
  • new_record? と persisted メソッド
  • let とlet! の違い
    • letは、定義した変数がテスト実行時に初めて参照されたときにcreateされる
    • let!は、各ブロック実行前に定数をcreateする
  • create と build の違い
    • 作成と保存がcreate
    • 作成がbuild

@hirohiroiida hirohiroiida merged commit ec70c35 into develop Aug 3, 2022
@DaichiSaito
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants