일부 레일스 코드를 살펴보면서 모델의 클래스 중 하나에 serialize : some_property라는 줄이 있음을 알았습니다. 직렬화 된 속성을 포함 할 새 클래스를 비계하고 싶었지만 정확하게 수행하는 방법을 모르겠습니다. serialize 된 속성 (예 : 루비 스크립트/생성 스카 폴드)에 대해 어떤 유형을 선언해야합니까? NewClass serialized_property : (여기에는 무엇을 가져야합니까?) 어떤 도움을 주셔서 감사합니다!Ruby on Rails Scaffold Serialize
0
A
답변
4
ActiveRecord::Base
에서 상속받은 모델의 serialize
클래스 메소드는 해당 열/속성을 가져 와서 저장시 YAML로 변환하고로드 할 때 반대의 작업을 수행합니다. 모델에 기본 배열 또는 해시 객체를 유지하는 데 유용합니다.
레일즈는 데이터베이스에 text
유형 컬럼을 사용하기 만하면됩니다. 그래서 이전에, 당신은 당신의 직렬화 된 필드에 대해 다음했는지 확인하십시오 (이 경우, settings
는) :
create_table :accounts do |t|
t.text :settings
end
는 그런 다음 모델은
serialize
에 전화를 추가로 간단해야
class Account < ActiveRecord::Base
serialize :settings
end
Account.new(:settings => { :big_head_mode => true, :awesome => true }).save
을 호출하면 레일스는 자동으로 settings
해시를 YAML로 직렬화하여 데이터베이스에 유지합니다.
그리고 분명히 말하면, 비계는 그 문제와 아무 관련이 없습니다. 비계를 생성 한 후에도 모델에 serialize
에 대한 호출을 추가해야합니다.
관련 문제
- 1. Ruby on Rails, delayed_job GMT로 잘못된 datetime을 serialize
- 2. Ruby on Rails 블로그
- 3. 정규식 + Ruby On Rails
- 4. Ruby On Rails 마이그레이션
- 5. Ruby on Rails 쿼리
- 6. Ruby on Rails + Devise
- 7. Mootools + Ruby on Rails ==?
- 8. Ruby on Rails 관계
- 9. ruby on rails + iis7
- 10. IIS7의 Ruby on Rails
- 11. Ruby On Rails Application.html.haml
- 12. Ruby on Rails 그래프
- 13. Ruby on Rails 튜토리얼
- 14. Ruby on Rails + Ajax
- 15. Ruby on Rails - 로그인
- 16. Ruby on Rails : Model
- 17. Ruby on Rails 스위치
- 18. Ruby on Rails 국제화
- 19. ruby on rails redirect_to
- 20. Ruby on Rails & Javascript
- 21. Ruby on Rails Listener
- 22. Ruby on Rails 날짜 필드 유효성 검사
- 23. Ruby on Rails 시작에 어려움이 있습니다.
- 24. ruby on rails ajax update css on
- 25. Ruby On Rails on Ubuntu + apache2 + Passenger
- 26. Ruby on Rails + Ruby 플러그인을 알아야합니다.
- 27. ruby and ruby on rails book (2009)
- 28. Ruby on Rails : Paperclip & Ruby Mp3Info
- 29. Ruby on Rails 사용자 설정
- 30. Ruby on Rails : 폼 선택
고마워요! 모든 것이 아름답게 작동했습니다. – hassaanm
@coreyward 해시 배열에도 사용할 수 있습니까? – Ivan
@Ivan : 항상 시도해 볼 수는 있지만, Yaml과 완벽하게 번역 할 수있는 것은 무엇이든 잘 직렬화해야합니다. 예를 들어, {{key : value}, {key : value} – coreyward