回答
我不認爲StrongParameters已經這樣做了,但你可以自由地做到這一點。例如:
def object_params
permitted_params = [:a, :b, :c]
params.require(:some_object_name).permit(*permitted_params)
if Rails.env.development? && permitted_params.exclude?(some_param)
# TODO: Raise an exception or log an error or whatever you want to do here.
end
end
UPDATE
我發現了strong_parameters寶石(默認情況下,包括滑軌4)確實能夠在這裏有一定的靈活性!請參閱自述文件的以下部分:https://github.com/rails/strong_parameters#handling-of-unpermitted-keys。因此,在開發環境中,未經許可的密鑰應該已被記錄。如果你願意,你可以改變它來做一個加註。涼!如果這不是你想要的,並且上面的代碼不是那麼那麼你可能會在你的整個應用程序中使用未經許可的密鑰來做一些特殊的事情來猴子補丁或者分發這個gem。
我不確定我是否理解你的意思。我想有一個機制阻止我發送不在白名單中的參數。所以如果我添加一個新的屬性,然後添加一個表單輸入併發送它,那麼屏幕上會出現警告。 –
通常,驗證將確保所有必需的屬性在表單中正確填寫。因此,如果您尚未將屬性添加到允許的參數列表並提交表單,則表單提交會抱怨沒有爲該屬性輸入任何內容(因爲如果未列出對象,它不會被設置在對象中在允許的屬性列表中)。這有幫助嗎? – pdobb
或者如果你不想驗證,那麼你可以使用我的上面的代碼示例來提出一種不同的顯示錯誤的方法 - 也許通過設置flash [:error]',然後,如果存在閃存錯誤,跳過表單驗證或任何你想做的事情,以確保表單提交失敗。 – pdobb
- 1. 強參數,不允許的參數
- 2. 在不允許的參數上引發錯誤rails
- 3. 強參數允許數組陣列
- 4. Rails強參數 - 允許在陣列中嵌套深度散列
- 5. 當連接android到php有時參數不發送時,發送參數到php
- 6. 如何讓Unicorn在開發日誌中顯示發佈參數?
- 7. 允許散列或零參數很強
- 8. 設計錯誤:不允許的參數
- 9. Rails 5.02參數不允許錯誤?
- 10. 如何發送數組中的參數列表在Restful webservice中
- 11. 在Rails 4應用程序中使用強參數未發現參數錯誤
- 12. 在WCF服務構造函數中發送參數 - 錯誤
- 13. 不允許參數?
- 14. 允許單個參數和默認安全參數?強參數
- 15. .ToSelectList參數錯誤顯示在下拉列表中
- 16. Ember查詢參數不在請求中發送參數
- 17. 不能允許具有強參數的自定義參數
- 18. 顯示發送給報告的參數
- 19. http發送請求不在黑莓5.0中發送參數
- 20. 在Wordpress中,頁面如何顯示發送給它的參數
- 21. 序言 - 發送一個列表作爲要顯示的參數
- 22. 發送參數
- 23. 發送參數
- 24. AFNetworking在發送請求的JSON參數中發送數組
- 25. PHP SOAPClient WCF發送參數錯誤
- 26. C#發送錯誤的參數給mysql
- 27. 如何在C#中的timerTick事件中發送參數(參數)?
- 28. 發送參數中的JMeter
- 29. 發送參數在angularjs
- 30. 在開發環境中顯示錯誤
這很含糊。至少,你應該讓我們知道你在說什麼編程語言。可能還提供了一個例子或兩個... – twalberg
對不起,我選擇強參數標記會讓它變得很明顯我正在談論Ruby on Rails。我現在把它添加爲標籤。 –