@MaFai
因為功能持續開發中,加上完全沒有文擋,所以只有重構這個選擇。
Constant 代替 Model 這個部分,因為代碼牽扯到公司機密,所以我隨便舉個不相干的例子供你參考。
假設一個 User 會有一種 Role,每種 Role 會有各自的屬性,且可能被更改。
正常來講我們會開一個 User model 和 一個 Role model 去做一對多的連結,如果要修改 Role 的屬性就從後台修改。
而我指的 Constant 代替 Model 就是指開一個 User model,把所有 Role 寫成 constant 放在 User model 裡面。
ex:
class User < ActiveRecord::Base
Role = {
:normal => { :attribute1 => xxx, attribute2 => xxxx },
:manager => { :attribute1 => xxx, attribute2 => xxxx },
:admin => { :attribute1 => xxx, attribute2 => xxxx }
}
end
讓應該用 model 管理的東西跑到代碼裡。