반응형
Rails 4에서`params.require (: person) .permit (: name, : age)`는 무엇입니까?
Rails 4 문서의 강력한 매개 변수에 대한 모든 예는
params.require(:person).permit(:name, :age)
누군가가 해체를 기쁘게과 함께 발생하는 것을 설명 할 수 require
및 permit
여기에?
params
해시 같은 컨트롤러 외모에,하지만 실제로 인스턴스의 ActionController::Parameters
다음과 같은 여러 가지 방법을 제공합니다, require
및 permit
.
이 require
메소드는 특정 매개 변수가 존재하는지 확인하고 제공되지 않으면 require
오류를 발생시킵니다. ActionController::Parameters
키에 전달 된 인스턴스를 반환합니다 require
.
이 permit
메소드는 매개 변수 오브젝트의 사본을 리턴하고 허용 된 키와 값만 리턴합니다. 새 ActiveRecord 모델을 작성할 때 허용 된 속성 만 모델로 전달됩니다.
이전에는 ActiveRecord 모델에 포함 된 화이트리스트와 비슷하지만 컨트롤러에있는 것이 더 합리적입니다.
예를 들어 더 정확하게 만들려면 를 수행 하는 경우 require로 표시된 해시 .new(...)
가 있어야하며 :person
person 해시는 허용으로 만 승인 :name
및 :age
표시됩니다.
예:
.new(person: { name: "Bhojendra", age: 32 }) // okay
.new(person: { name: "Rauniyar" }) // okay
.new(person: { name: "Bhojendra", other: 'asdf' }) // not okay, other not permitted
.new(person: { full_name: "Bhojendra Rauniyar" }) // not okay, full_name not permitted
.new(detail: { name: "Bhojendra", age: 32 }) // not okay, must be person
반응형
'development' 카테고리의 다른 글
목록에서 최대 값과 색인을 찾는 Pythonic 방법? (0) | 2020.06.24 |
---|---|
iPhone 시뮬레이터에서 키보드를 사용하여 입력하려면 어떻게합니까? (0) | 2020.06.24 |
Nginx에서 $ host와 $ http_host의 차이점은 무엇입니까? (0) | 2020.06.23 |
모두 타겟팅 할 수 있습니까 (0) | 2020.06.23 |
ORM과 ODM의 차이점은 무엇입니까? (0) | 2020.06.23 |