development

Rails 4에서`params.require (: person) .permit (: name, : age)`는 무엇입니까?

big-blog 2020. 6. 23. 21:42
반응형

Rails 4에서`params.require (: person) .permit (: name, : age)`는 무엇입니까?


Rails 4 문서의 강력한 매개 변수에 대한 모든 예는

params.require(:person).permit(:name, :age)

누군가가 해체를 기쁘게과 함께 발생하는 것을 설명 할 수 requirepermit여기에?


params해시 같은 컨트롤러 외모에,하지만 실제로 인스턴스의 ActionController::Parameters다음과 같은 여러 가지 방법을 제공합니다, requirepermit.

require메소드는 특정 매개 변수가 존재하는지 확인하고 제공되지 않으면 require오류를 발생시킵니다. ActionController::Parameters키에 전달 된 인스턴스를 반환합니다 require.

permit메소드는 매개 변수 오브젝트의 사본을 리턴하고 허용 된 키와 값만 리턴합니다. 새 ActiveRecord 모델을 작성할 때 허용 된 속성 만 모델로 전달됩니다.

이전에는 ActiveRecord 모델에 포함 된 화이트리스트와 비슷하지만 컨트롤러에있는 것이 더 합리적입니다.


예를 들어 더 정확하게 만들려면 를 수행 하는 경우 require로 표시된 해시 .new(...)가 있어야하며 :personperson 해시는 허용으로 만 승인 :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

참고 URL : https://stackoverflow.com/questions/18424671/what-is-params-requireperson-permitname-age-doing-in-rails-4

반응형