Rails 小知識 — 那個 require 捕捉什麼?

Mino chen
Mar 19, 2021

--

清洗資料的時候,常常有一行類似這樣

params.require(:comment).permit(:content)

到底是什麼意思啊?

params.require ⇒ 會捕捉到前端 params 裡的東西,通常會是一包 hash

:comment ⇒ 是這包 hash 裡我想要清理的 key

require(:comment) ⇒ 就是捕捉comment 裡的所有東西

require(:comment).permit(:content) ⇒ 在前面所有東西裡我只允許 content 進來後端

因為怕前端會有已知用火(?)不對,是會寫程式的朋友小惡作劇,把一些我們畫面上沒叫他輸入的資料硬從開發者介面寫進來,所以有了這層清理,寫入資料庫時就會安全許多。

--

--