2013-05-09 3 views
1

레일스에서 ​​문자열 길이를 최대로 설정 한 것은 이번이 처음입니다.문자열의 최대 길이를 설정하는 레일

validates_length_of :description, :maximum => 100 

을 그리고 나는이와 마이그레이션 만들 수 있습니다 :

change_column :workorders, :description, :string, :limit => 100 

내가 모두가 필요하십니까를 나는 workorder 모델이 추가 할 수 있습니다 같은

은 같습니다?

+0

첫 번째 버전 만 필요합니다. 두 번째 버전이 "추가 보안"이라는 이유를 알아 보려면 모리의 대답을 참조하십시오. 첫 번째는 데이터베이스에 글을 쓰기 전에 레일스가 내용을 확인하는 것입니다. 두 번째 것은 db 수준에서 직접 적용됩니다. – Raindal

답변

4

데이터베이스의 실제 구조를 정의하므로 마이그레이션에 반드시 포함시켜야합니다. 또한 열의 최대 저장 크기 제한을 제한합니다 (특정 지점 이후, 자세한 내용은 http://dev.mysql.com/doc/refman/5.0/en/char.html 참조). 또한 Rails App 이상으로 데이터베이스에 접근하는 것이 가능합니다.

엄격한 요구 사항은 아니지만 유효성 검사에 포함하는 것은 견고성을위한 올바른 방법입니다.

+0

정보 주셔서 감사합니다! – Reddirt

관련 문제