일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 一日一つメソッド
- rails
- javascript
- 인프런
- vscode
- jsp
- nico
- 건담베이스
- java
- 비즈니스일본어
- Flutter
- Python
- 반다이몰
- Web
- DART
- メソッド
- html
- rails7
- 자바
- Spring
- 일본어
- 日本語
- 연습문제
- 単語
- C로 시작하는 컴퓨터 프로그래밍4판
- springboot
- 디지몬
- CSS
- ruby
- 건담
Archives
- Today
- Total
AR삽질러
Rails 一日一つメソッド (Day28) status 본문
728x90
Rails 一日一つメソッド (Day28) status
1. Railsでステータスコード
- HTTP Status Codeは Serverが clientに requestを知らせる標準方法で、各Status Codeは requestは成功したか、エラーが発生したかなどを表す。
2. 会員登録の例題で renderメソッドと一緒に使った status: :unprocessable_entity
- requestされた作業を完了できない場合 clientに知らせる。
- Form提出で有効しないDataが入力された時、Userにエラー メッセージを表示し、同じフォームを再レンダリングするために使用する。
会員登録失敗処理
def create
@user = User.new(user_param)
if @user.save
redirect_to root_path, notice: "ユーザーが登録が完了しました。"
else
flash.now[:alert] = "会員登録に失敗しました。。"
render 'new', status: :unprocessable_entity
end
- 新しい @userオブジェクトを生成し保存する。
- @user.saveが成功した時、Userを root_pathに redirectionし成功メッセージを表紙する。
- 保存に失敗したら newに再renderingし status code 422をresponseし、エラーメッセージを表紙する。
ここで status: :unprocessable_entityは clientに requestが失敗したのを知らせる事ができる。
成功的に request (200 OK)
def show
@user = User.find(params[:id])
render json: @user
end
Resource 生成成功 (201 Created)
def create
@user = User.new(user_params)
if @user.save
render json: @user, status: :created, location: @user
else
render json: @user.errors, status: :unprocessable_entity
end
end
Resource Not Found (404 Not Found)
def show
@user = User.find_by(id: params[:id])
if @user
render json: @user
else
render json: { error: "User not found" }, status: :not_found
end
end
権限がない (401 Unauthorized)
def update
return render json: { error: "Not Authorized" }, status: :unauthorized unless current_user.admin?
end
HTTP Status Code |
情報応答(100-199) |
成功的な回答(200-299) |
リダイレクトメッセージ(300-399) |
クライアントエラー応答(400-499) |
サーバーエラー応答(500-599) |
728x90
반응형
LIST
'Ruby > RubyOnRails-日本語' 카테고리의 다른 글
Rails 一日一つメソッド (Day30) validation (0) | 2024.02.07 |
---|---|
Rails 一日一つメソッド (Day29) errors.add (0) | 2024.02.06 |
Rails 一日一つメソッド (Day27) image_tagメソッド (0) | 2024.02.02 |
Rails 一日一つメソッド (Day26) permitメソッド (0) | 2024.02.01 |
Rails 一日一つメソッド (Day25) link_toメソッド (0) | 2024.01.31 |