ActiveModel::ForbiddenAttributesError
前言
在 Rails 要讓表單將資料送往資料庫時,如果沒有經過「核對欄位」時,就會噴出下圖錯誤:
https://images.vocus.cc/2150dd6e-b4ff-4811-a905-3c0b53479845.jpg
WHY?
這是為了避免使用者在資料寫入時,強行新增非官網的資料時,所進行的預設阻擋功能。
SO~
所以必須新增一個「白名單」,才能正常寫入:
1 | params.require(:article).permit(:title, :content) |
(兩者都一樣,但業界比較常用第一種寫法。)
寫了這段後,除了 permit 的資料,其他額外的資料都會被過濾掉,不會進來。