update_attributes
과 비슷한 메서드가 내장되어있어 매개 변수로 전달 된 해시의 잘못된 키를 무시합니까? 그렇지 않은 경우 유효한 키가 포함되어 있거나 포함되어 있지 않은 해시가 전송 된 상황을 처리하는 가장 좋은 방법은 무엇입니까?잘못된 키를 무시하기위한 update_attributes
3
A
답변
1
레일스에서이 기능을 수행하는 것에 대해서는 전혀 알지 못합니다. 나는 또한 모델이 "정의 된 속성"이 무엇인지를 결정하는 간단한 방법을 알고 있지 않다. 왜냐하면 모델은 설정자, 가상 속성 등을 오버 라이딩 할 수 있기 때문이다.이 기능이 필요할 때마다, 수업 시간에 허용 기호 목록, 이런 식으로 뭔가 : 필터링 단계의 어떤 종류에서 나중에 사용 후
class Foo < ActiveRecord::Base
def defined_attributes
[ :a, :b, :c ]
end
end
... 그리고 "유효한 키"으로
attrs = { :a => 1, :z => 0 }
foo.update_attributes(attrs.slice(*foo.defined_attributes))
1
하나의 옵션으로 obj.valid가 실행 중입니까? update_attributes를 호출하기 전에 잘못된 키 (obj.errors 배열의 키)를 제거하십시오.
def update_valid_attributes(o)
o.errors.messages.each do {|k,msg| o.delete k} if !o.valid?
o.update_attributes
end
모든 지속 된 엔터티에 원할 경우이 방법을 ActiveRecord :: Base에 추가 할 수도 있습니다.
관련 문제
- 1. validation_context & update_attributes
- 2. Lucene 아포스트로피를 무시하기위한 인덱싱
- 3. 호스트 이름을 무시하기위한 정규식
- 4. Rails에서 블록 내의 update_attributes
- 5. 접근 자 및 update_attributes
- 6. 정의되지 않은 메소드 update_attributes?
- 7. 표준이 아닌 서식으로 update_attributes
- 8. 레일 액티브 문제가 update_attributes
- 9. mongodb가 잘못된 유형의 키를 반환합니다.
- 10. 잘못된 SSH 키를 사용하는 TortoiseGit
- 11. MongoDB/mongoid update_attributes 메서드가 느립니까?
- 12. update_attributes rails는 생성과 업데이트를 구별합니다.
- 13. 'update_attributes'~ 'has_many'를 사용하여 데이터베이스 업데이트
- 14. mongoid update_attributes 데이터 유형 변경
- 15. 유효성 검사가 포함 된 update_attributes
- 16. JUnit 테스트를 무시하기위한 FindBugs 필터 파일
- 17. 서브 도메인을 무시하기위한 모드 재 작성
- 18. 잘못된 기본 키를 사용하는 연결된 모델
- 19. 홈 키를 누른 후 잘못된 PendingIntent가 시작됩니다.
- 20. Hibernate가 잘못된 엔터티 외래 키를 유효화 함
- 21. 레일스 - 모델의 일부분만을위한 update_attributes; 파일 업로드
- 22. ActiveModel에 "update_attributes"메소드가 포함 된 모듈이 있습니까?
- 23. VS : 빌드 할 때 누락 된 XML 주석을 무시하기위한 속성
- 24. 잘못된 키를 입력했는지 감지하는 방법 <input>?
- 25. AES - 키를 생성하고로드하는 중 키에 잘못된 키 예외가 발생합니다.
- 26. 잘못된 문자가 포함 된 Amazon S3 키를 삭제할 수 없습니다.
- 27. 언제 저장을 사용합니까!, 만들 수 있습니다! 및 update_attributes! 레일스에?
- 28. Ruby attr_accessor setter가 하위 객체의 update_attributes 중에 호출되지 않습니다.
- 29. Rails update_attributes 메소드가 데이터베이스에서 모델 업데이트를 수행하기위한 최상의 선택입니까?
- 30. 레일`update_attributes` 정의되지 않은 메소드`first` for nil : NilClass
, 당신은 의미합니까 "모델의 기존 속성을 나타내는 기호 (정의되지 않은 메소드를 생성하지 않음)"또는 "유효성 검사를 통과하는 키 => 값 쌍"? 의 기존 속성을 나타내는 "기호 : – pje
"모델의 기존 속성 (정의되지 않은 메서드를 제기하지 않을 것이다) 나타내는 상징 " 모델 (정의되지 않은 메서드를 발생시키지 않습니다) "나는 OxSina가 모델의 특성이 아닌 매개 변수를 삭제하는 방법을 찾고 있다고 생각합니다. @OxSina가 맞습니까? – 0xSina
이 0xSina @ – MrYoshiji