to_xml 함수에 대한 도움이 필요합니다. 활성 레코드에서 xml로 내보낼 때 어떻게 모든 nil = "True"값을 기본값 (')으로 만들 수 있습니까?Ruby on Rails to_xml nil = "True"
0
A
답변
3
#to_xml
방법 레일은 ActiveRecord
, Array
에 추가하고, Hash
는 기본적으로 builder
보석을 사용합니다. XML은 ActiveSupport::XmlMini
에도 전달되며 nil="true"
속성의 추가는 nil
속성에 항상 추가되도록 hard coded입니다.
이 값에 문제가있는 경우 XML을 작성하려면 using builder
directly을 봐야합니다.
Builder::XmlMarkup.new.object{|xml| xml.value "" }
#=> "<object><value></value></object>"
다른 XML 라이브러리를 사용할 수도 있습니다. 난 레일 기본 및 가능성이 이미 설치되어 있기 때문에 builder
권장합니다.
또 다른 옵션은 (object
는 ActiveRecord
인스턴스의 경우는 object.attributes
작품)을 Hash
첫째로 개체를 변환하는 것입니다. 그런 다음 임의의 nils를 빈 문자열로 변환 할 수 있습니다.
data = object.attributes
data.each_pair{|col, val| data[col] = "" if val.nil? }
data.to_xml
0
XML 생성을위한 특수 기본값을 설정하는 방법을 추가 할 수 있습니다. 그런 다음이 메서드는 메모리에있는 레코드를 복제하고 기본값을 설정하고 마지막으로 xml을 생성하는 재정의 된 to_xml
메서드에서 호출 할 수 있습니다. 예제 코드 :
class Post < ActiveRecord::Base
def set_xml_defaults
blanks = self.attributes.find_all{|k,v| v.nil? }.map{|k,v| [k,''] }
self.attributes = Hash[blanks]
end
alias_method :to_xml_no_defaults, :to_xml
def to_xml(options = {}, &block)
dup = self.dup
dup.set_xml_defaults
dup.to_xml_no_defaults
end
end
관련 문제
- 1. ruby on rails - ruby on rails 2
- 2. form_for remote true on ruby on ruby
- 3. Ruby on Rails NameError
- 4. Ruby on Rails - 정의되지 않은 메소드 'errors'for nil : NilClass
- 5. ruby on rails 엔진 정의되지 않은 메소드 'delete'for nil : NilClass
- 6. Ruby on rails, nil 애트리뷰트에 대한 다중 체크
- 7. Ruby on rails 검색
- 8. Ruby on Rails - redirect_to
- 9. Ruby on Rails 로그인 세션
- 10. Ruby on Rails : 연산자
- 11. Ruby on Rails : 정의되지 않은 메소드 'instructors'for nil : NilClass
- 12. Ruby on rails beginner
- 13. Ruby on Rails UrlGenerationError
- 14. Ruby on Rails 쿼리
- 15. Ruby on Rails on actionscript
- 16. Ruby 대 Ruby On Rails
- 17. Ruby on Rails fullcalendar-rails
- 18. Ruby on Rails Gem이 내 모델을 재정의합니까? - Ruby on Rails
- 19. Ruby on rails table form
- 20. 양식 만들기 (Ruby on Rails)
- 21. Ruby on Rails 블로그
- 22. 정규식 + Ruby On Rails
- 23. Ruby on Rails 서술문
- 24. Ruby on Rails - 고유성
- 25. Ruby on Rails 관계
- 26. Ruby on rails association
- 27. Ruby on Rails with
- 28. Ruby on Rails 설치
- 29. PDF와 Ruby on Rails
- 30. Ruby on Rails 방법