像这样的邮递员,我试图在url中以散列的形式传递params。
http://localhost:3000/api/v1/bill?album=3&song=4&song=7&album=6 我使用这个代码来获得param
def param_hash
params.permit(:album, :song)
end并打印此值param_hash.to_h
这是我想要的值({“相册”=3,“歌”=>4,“专辑”=>6,“歌”=>7}),但实际上这就是我得到的{“相册”=>6,“=>7}”,在最后只有一个散列。
在url中是否有所有的散列值?
发布于 2022-03-02 16:24:53
def param_hash
params.permit(album: [], song: [])
endhttp://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 => [])
发布于 2022-03-02 16:51:57
http://localhost:3000/api/v1/bill?data={album: 3,song: 4,song: 7,album: 6 }使用上述逻辑并允许“数据”对象。
https://stackoverflow.com/questions/71325852
复制相似问题