看板 Ruby 關於我們 聯絡資訊
環境: Ruby 1.9.3p0 Rails 3.2.0.rc1 狀況: 這個問題最常見的範例就是將資料轉成大小寫 例如我想儲存 "TONYTONYJAN" 到某個 model 的某個 column(string) 但是實際儲存會變成 "tonytonyjan" 我想到三個解法: 1. override assign method 例如: class User < ActiveRecord::Base def username=(val) write_attribute(:username, val.downcase) end end 2. 使用 Observer 3. 實做 before_save 我想請教各位前輩: a. 如果是你們,會使用什麼方法來解決這個問題? b. 推薦什麼方法和不推薦什麼方法 c. 是否有其他更好得解法? 不吝賜教 萬分感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.246.1
godfat:我會用 before_save 01/10 21:05
ayamomiji:我是用 before_validation, 因為還蠻常做 strip 這種會 01/14 01:04
ayamomiji:改變字串長度影響 validates_length_of 的這類事情 01/14 01:04