2013-05-09 96 views
1

這是我第一次在Rails中設置字符串的最大長度。Rails設置字符串的最大長度

它看起來像我可以補充這工作單型號:

validates_length_of :description, :maximum => 100 

,我能創造這個遷移:

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

我需要兩者兼而有之?

+0

您只需要第一個,請參閱Mori的答案,以瞭解爲什麼第二個「只是」額外的安全性。第一個是Rails在寫入數據庫之前驗證內容。第二個是直接在db級執行的。 – Raindal 2013-05-09 20:36:04

回答

4

您應該明確地將它包含在遷移中,因爲它定義了數據庫的實際結構。這也將限制列的最大存儲大小限制(通過某個點,有關更多詳細信息,請參閱http://dev.mysql.com/doc/refman/5.0/en/char.html)。此外,不僅僅是您的Rails應用程序可以觸摸數據庫。

將它包含在驗證中對於魯棒性來說只是一個很好的練習,儘管不是嚴格要求。

+0

感謝您的信息! – Reddirt 2013-05-09 21:46:31