[英]Declare a required array parameter using Rails Strong Params
在我的Rails控制器我想需要一個參數, emails
。 它必須是一個數組。
這是允許的。
emails[]=foo@bar.com&emails[]=up@down.com
這是不允許的。
emails=foo@bar.com
params.require(:emails)
將允許兩者。 前者是一個數組。 后者作為字符串。 這是個問題。
params.permit(emails: [])
不需要emails
參數。
params.require(:emails).permit([])
不起作用,因為params.require(:emails)
變得聰明並返回一個數組,而不是 ActionController::Parameters。
我如何允許emails[]=...
並禁止emails=...
?
就像 tadman 所說的,篩選是強參數最常做的。
你可以看看葡萄,也許它可以為你指明一些方向來解決你的顧慮
desc "API demo", {}
params do
requires :id, type: Integer, desc: 'ID'
requires :name, type: Boolean, desc: 'xxx'
end
如果您向它傳遞了意外類型的參數,則會收到錯誤消息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.