我最近碰到這個棄用警告是的ActionController ::參數棄用警告:方法大小棄用,並將在滑軌被刪除5.1
棄用警告:方法大小棄用,並將在Rails的5.1被刪除,如
ActionController::Parameters
不再繼承哈希。使用此棄用行爲會暴露潛在的安全問題。如果您繼續使用此方法,則可能會在您的應用中創建可被利用的安全漏洞。
PARAMS是這樣的:
<ActionController::Parameters { "objects" =>
<ActionController::Parameters {
"0"=>{"priority"=>"24", "style"=>"three_pictures"},
"1"=>{"priority"=>"24", "style"=>"three_pictures"},
"2"=>{"priority"=>"24", "style"=>"three_pictures"}
} permitted: false> } permitted: false>
我試圖找到的objects
這樣的尺寸: params[:objects].size
然後我嘗試同樣的事情length
和count
,這導致在相同的警告。這將是什麼工作? .keys.length
是有用的,但是這是做到這一點的正確方法,還是我在這裏錯過了一些東西?
您可以使用'to_h'將'params轉換爲哈希'並訪問這些方法。 – Sravan
'Rails 5 ActionController :: Parameters'現在返回一個Object而不是Hash。 '要訪問對象中的參數,您可以將to_h添加到參數中:' – Sravan