일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Python
- 인프런
- 반다이몰
- 日本語
- 単語
- メソッド
- nico
- CSS
- 일본어
- vscode
- java
- rails
- javascript
- 디지몬
- 연습문제
- Web
- rails7
- Spring
- 비즈니스일본어
- jsp
- Flutter
- ruby
- C로 시작하는 컴퓨터 프로그래밍4판
- DART
- 건담
- springboot
- 건담베이스
- 자바
- html
- 一日一つメソッド
Archives
- Today
- Total
AR삽질러
Rails 一日一つメソッド (Day26) permitメソッド 본문
728x90
Rails 一日一つメソッド (Day26) permitメソッド
permitメソッドとは?
- paramsで取得したパラメータに対して保存の許可処理を行うメソッドで、requireメソッドは特定のパラメータが paramsハッシュの中にあるかを確認する時に使われる。指定したパラメータが存在しない場合、ActionController::ParameterMissing例外が発生する。
permitメソッドを使う時 | |
User入力処理 | WebのFormを通過して提出したデータを処理する時 |
Model生成、Update | permitを使って特定のFiledだけをUpdateするようにしたい時 |
保安強化 | permitを使って許可されたFiledだけを処理して悪意を持ってUserのデータ送信を防げる。 |
パラメーター検証 | 目的のパラメータ キーを許可し、他のパラメータはフィルタリングして、不正な入力またはパラメータ エラーからアプリケーションを保護する時 |
バリデーション | Strong Parametersを使ってデータのバリデーション検査を行える。 |
params.permit(:キー名)
params.require(:モデル名).permit(:キー名)
params.require(:user).permit(:name, :age)
=>{ name: "Arang", age: 20 }
permitメソッドの使い方
- Controllerで使われる
def create
user_params = params.require(:user).permit(:name, :email, :password)
@user = User.new(user_params)
end
- params.require(:user) : userパラメータを必須として要求。
- permit(:name, :email, :password) : userパラメータで許可されているフィールドのみを選択的に許可する。
Strong Parameters
- Userが入力したデータが許可されているのかを制御する機能で、どんなパラメータを使えばアプリケーションでどんなパラメーターが許可されるか、許可されないかを指定できる。
user_params = params.require(:user)
requireメソッド
- paramsオブジェクトで特定のパラメーターを要求するメソッドで、パラメーターが要請にない場合、ActionController::ParameterMissing例外が発生する。
例)Userから :userパラメーターが必要な場合。
user_params = params.require(:user)
配列に対しての指定の仕方
- Valueに複数の値の場合は、配列パラメーターに処理できる
params.permit(キー: [])
例):addressハッシュパラメータの中に、:street, :city キーがある場合
address_params = params.require(:user).permit(address: [:street, :ciry])
728x90
반응형
LIST
'Ruby > RubyOnRails-日本語' 카테고리의 다른 글
Rails 一日一つメソッド (Day28) status (0) | 2024.02.05 |
---|---|
Rails 一日一つメソッド (Day27) image_tagメソッド (0) | 2024.02.02 |
Rails 一日一つメソッド (Day25) link_toメソッド (0) | 2024.01.31 |
Rails 一日一つメソッド (Day24) sessionメソッド (0) | 2024.01.31 |
Rails 一日一つメソッド (Day23) flashメソッド (0) | 2024.01.31 |