일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Flutter
- springboot
- javascript
- 비즈니스일본어
- 건담베이스
- 一日一つメソッド
- CSS
- 건담
- vscode
- 디지몬
- Web
- rails7
- java
- メソッド
- jsp
- 일본어
- Spring
- Python
- ruby
- 日本語
- 반다이몰
- nico
- DART
- 자바
- rails
- 単語
- html
- 연습문제
- 인프런
- C로 시작하는 컴퓨터 프로그래밍4판
Archives
- Today
- Total
AR삽질러
Rails 一日一つメソッド (Day13) require、permitメソッド 본문
728x90
Rails 一日一つメソッド (Day13) require、permitメソッド
require, permitメソッドは、railsでDBを更新する時に、不要なパラメータを取り除くために使う。
1. requireメソッド
- Strong Parametersの一部で、paramsから取ってくるデータのオブジェクト名を指定する。
役割 | 使用目的 | 動作方法 |
paramsハッシュで特定のキーを必須で要求する。 | フォーム データやAPI リクエストにおいて、特定のデータ オブジェクトが必ず存在することを保証するために使用。 | 必要ばキーが 'params' ハッシュに存在しない場合、'ActionController::ParamaterMissing' エラーを発生する。 |
params.require(:user) |
def user_params
params.require(:user)
end
requireメソッド
- Clientから受けた 'params' Hashで ':user' キーを探す。
:user
- キーはフォーム データやAPI リクエストでユーザー情報を含めるルート要素。
- :user キーがない場合 'ActionController::ParameterMissing' エラーを発生する。
result
- :user キーがあるかを検証し、必須で要求してデータを制御する。
2. permitメソッド
- Strong Parametersの一部で、paramsから取ってくるデータのキーを指定する。
役割 | 使用目的 | 動作方法 |
指定されたキー中の下のパラメータの中で許可されたフィールドだけをフィルタリングする。 | Clientが送信したデータの中で安全に使うことができるフィールドだけを選ぶ。 | permitで指定されたフィールド(:name, :email) などオブジェクトに割り当てられる。 |
params.require(:user).permit(:name, :email) |
permit(:name, :email, :password, :password_confirmation)
permitメソッド
- :user キーの中に含まれているパラメータの中で、明示的に許可されたフィールド(:name, :email, :password, :password_confirmation)のみを選択する。
3. requireメソッド、permitrequireメソッドの違い
- requireメソッド、permitrequireメソッドは一緒に使われる。特定のデータをオブジェクトの存在を保証しその内部の安全なフィールドだけを選ぶ。
例)
params.require(:user).permit(:name, :email)
require(:user)
- :user キーの存在を確認する。
permit(:name, :email)
- (:name, :email) で :user オブジェクトの中で安全なフィールドを選ぶ。
728x90
반응형
LIST
'Ruby > RubyOnRails-日本語' 카테고리의 다른 글
Rails 課題 - 生成メソッド、validate、viewの修正、ログイン機能 (0) | 2024.01.03 |
---|---|
Rails 一日一つメソッド (Day14) redirect_toメソッド (0) | 2024.01.03 |
Rails 一日一つメソッド (Day12) orderメソッド (0) | 2024.01.01 |
初めてのRuby on Rails ミニQ&Aサイト開発 - 環境構築(1) (0) | 2023.12.31 |
初めてのRuby on Rails ミニQ&Aサイト開発 (0) (0) | 2023.12.31 |