Rails:如何遍历post请求的参数

时间:2016-12-18 21:06:45

标签: ruby-on-rails ruby post parameters ruby-on-rails-5

鉴于这些参数:

{
    "items"=>{"id"=>"", "id"=>"", "id"=>""}
}

我如何为rails中的每个项目分配内容?

这就是我的尝试:

    params[:items].each do |i|
        item = Item.find(i)
            @content = params[:s]
        end
    end

显然找不到params[:s]的任何值,因此@content等于nil

我完全不知道如何获得这个价值。我很欣赏每个答案。谢谢!

1 个答案:

答案 0 :(得分:0)

查看Hash类的文档,特别是each方法。块中有两个参数,一个键和一个值。因此,添加第二个参数将允许您获得该值:

params[:items].each do |id, value|
  # You can access the value for each ID 
  # with the variable 'value' while in the block
end

我不确定你为什么反复设置@content。这是整个脚本中的相同变量;您是否尝试在每个content上设置item属性?如果是这样,您只需说item.content = value(如果您希望它在数据库中保留,可能会在某个时候保存item)。你不需要把它放在Item.find的块中;把它放在外块内的下一行。 (如果您确实需要Item.find的阻止,那么您似乎在该行上缺少do。)