想募集 ActiveModel::Errors 的業務需求,打造一個新的 Errors API


#1

嗨各位,是這樣的,我在工作需求上偶爾會碰到覺得 ActiveModel::Errors 不太好用的時候,
比如說 error message 有時不想要 prefix attribute name 之類的需求。
雖然最近有新的 error details api 能用,但是感覺只是疊床架屋。
所以想說我們是否能蒐集大家平常碰過的 api 設計需求,
等到蒐集一定程度以後,可以來設計符合這些需求的 errors API,然後來實作。

我開了一個 repo,想說可以更新 wiki,或是發 issue 來蒐集需求:

要是你工作上正好碰到 errors api 的侷限,歡迎來這裡把你的 use case 加進來。


AdequateErrors 0.1 公開
#2

hmm~ 單純提幾個意見,沒有反對的意思

我不確定是你要自己弄一個專門的 Exception 還是想改進 ActiveModel::Errors,我以前者來做回應好了

Exception 相依性應該應該越少越好,因為已經噴了,結果又相依另外一個東西,到時候再噴原始資訊會遺失唄?

再來是 Exception 其實有一票人做了奇怪的自幹之類的哈哈,包括挾帶的訊息或是奇怪的操作,都額外製作的,類似 RestClient 內就自己做了 Exception 的 builder (其實應該是 design pattern 中的 factory)

其中也有包裝他想放進去的訊息就是了

最後是 trace code 的難易度,類似出了問題但看 Exception 的 class 卻是另外一個 gem … 會不會有點不相關之類的?

所以一般來說建議去找官方預設的 Exception class,然後找個適合的,繼承下來回來改就好了哩?

========== update ==========

我剛看了一下,你想改進的是後者,那抱歉,我就沒啥意見了哈哈,這邊有點尷尬的是其實我們公司很弱化 Rails 的部分,一個專案裡面 lib 使用的數量經常隨便就超過 20 多個(非 gem),都自己寫且都寫成 module,也都自己寫可能會有的 Exception class … (( 把 Ruby 當 FP 寫的概念,so …

至於額外的,Rails 的 ActiveModel::Errors 的確陽春了點,其實綁到 flash 上面說不定是好點子就是,不過這邊可能還是要小心類似機敏資料不注意之下外洩的問題,畢竟 error 通常都是例外狀況才會出現,而太多資訊又不注意噴出去時,會不會全等於開了 dev mode 在那邊?

其他的,git 內的 wiki 的內容寫得還不錯,這兩天有奇怪點子的話會整理上去發 issue 哩


#3

OK感謝~
請問綁在flash上的意思是什麼呢?


#4

Rails 的 ActionDispatch::Flash,不過應該是我多想了就是