加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 强参数和多维数组

发布时间:2020-12-17 03:17:34 所属栏目:百科 来源:网络整理
导读:我正在使用Rails 3.2.6和 strong parameters gem. 所以,我有一个具有典型更新操作的控制器: # PUT /api/resources/:iddef update @resource.update_attributes! permited_params respond_with_json @resource,action: :showend 然后,我有permited_pa??rams
我正在使用Rails 3.2.6和 strong parameters gem.

所以,我有一个具有典型更新操作的控制器:

# PUT /api/resources/:id
def update
  @resource.update_attributes! permited_params
  respond_with_json @resource,action: :show
end

然后,我有permited_pa??rams方法

def permited_params
  params.permit(:attr1,:attr2,:attr3)
end

问题是:attr3是一个多维数组,如下所示:[[1,2],[2,5,7]]

在文档之后,我需要指定:attr3作为数组.但…

params.permit(:attr1,:attr3 => [])
#inspecting permited_params: {"attr1"=>"blah","attr2"=>"blah"}

params.permit(:attr1,:attr3 => [[]])
#inspecting permited_params: {"attr1"=>"blah","attr2"=>"blah","attr3" => []}

params.permit(:attr1,:attr3 => [][])
#throw error

问题是:如何在多维数组中使用强参数?

解决方法

你也可以这样做

def permited_params
     hash = params.permit(:attr1,:attr2) 
     hash[:attr3] = params.require(:attr3) if params.has_key?(:attr3)
     hash
   end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读