亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Rails 4-強參數-嵌套對象

Rails 4-強參數-嵌套對象

Cats萌萌 2019-09-21 13:50:46
我有一個非常簡單的問題。但是到目前為止還沒有找到解決方案。因此,這是我發送到服務器的JSON字符串:{  "name" : "abc",  "groundtruth" : {    "type" : "Point",    "coordinates" : [ 2.4, 6 ]  }}使用新的許可方法,我得到了:params.require(:measurement).permit(:name, :groundtruth)這不會引發任何錯誤,但是創建的數據庫條目包含null而不是groundtruth值。如果我剛設置:params.require(:measurement).permit!一切都按預期方式保存,但這當然會破壞強大參數提供的安全性。我找到了解決方案,如何允許使用數組,但沒有一個使用嵌套對象的示例。這一定是有可能的,因為它應該是一個非常普通的用例。那么它是怎樣工作的?
查看完整描述

3 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

我發現此建議對我的情況有用:


  def product_params

    params.require(:product).permit(:name).tap do |whitelisted|

      whitelisted[:data] = params[:product][:data]

    end

  end

檢查Xavier在github上的評論的鏈接。


這種方法將整個params [:measurement] [:groundtruth]對象列入白名單。


使用原始問題屬性:


  def product_params

    params.require(:measurement).permit(:name, :groundtruth).tap do |whitelisted|

      whitelisted[:groundtruth] = params[:measurement][:groundtruth]

    end

  end


查看完整回答
反對 回復 2019-09-21
  • 3 回答
  • 0 關注
  • 603 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號