首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用GET在Rails api中将参数作为散列传递?

如何用GET在Rails api中将参数作为散列传递?
EN

Stack Overflow用户
提问于 2022-03-02 16:13:38
回答 2查看 405关注 0票数 -1

像这样的邮递员,我试图在url中以散列的形式传递params。

代码语言:javascript
复制
http://localhost:3000/api/v1/bill?album=3&song=4&song=7&album=6 

我使用这个代码来获得param

代码语言:javascript
复制
 def param_hash
    params.permit(:album, :song)
  end

并打印此值param_hash.to_h

这是我想要的值({“相册”=3,“歌”=>4,“专辑”=>6,“歌”=>7}),但实际上这就是我得到的{“相册”=>6,“=>7}”,在最后只有一个散列。

在url中是否有所有的散列值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-02 16:24:53

代码语言:javascript
复制
def param_hash
  params.permit(album: [], song: [])
end
代码语言:javascript
复制
http://localhost:3000/api/v1/bill?album[]=3&song[]=4&song[]=7&album[]=6 

根据https://github.com/rails/strong_parameters

允许的标量类型是字符串、符号、NilClass、数字、TrueClass、FalseClass、日期、时间、DateTime、StringIO、IO、ActionDispatch:Http:UploadedFile和Rack:Test::UploadedFile。

若要声明params中的值必须是允许的标量值数组,请将键映射到空数组:

params.permit(:id => [])

票数 1
EN

Stack Overflow用户

发布于 2022-03-02 16:51:57

代码语言:javascript
复制
http://localhost:3000/api/v1/bill?data={album: 3,song: 4,song: 7,album: 6 }

使用上述逻辑并允许“数据”对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71325852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档