【问题标题】:Permitting a nested arrays with strong parameters in rails [duplicate]允许在rails中使用强参数的嵌套数组[重复]
【发布时间】:2015-09-01 06:39:41
【问题描述】:

这是我的 ajax 请求:

$.ajax({
url: "/menu_items",
method: "post",
data: {
    menu_items: [
        {"id":3,"content":"first"},
        {"id":4,"content":"first"},
        {"id":5,"content":"second"}
    ]
  }
})

我想在 menu_items 数组中允许 idcontent, 我读了docs

所以我试试

params.require(:menu_items).permit({menu_items: [[:id, :content]]})

params.require(:menu_items).permit({menu_items: [:id, :content]})

但不起作用,我该怎么办?

更新:这是我的控制器:

class MenuItemsController < ApplicationController
  def create
    puts "----------------"
    puts menu_items_param
    puts "-----------"
  end

  private
  def menu_items_param
    params.require(:menu_items).permit(menu_items: [:id, :content])
  end
end

在控制台打印

Processing by MenuItemsController#create as */*
 Parameters: {"menu_items"=>{"0"=>{"id"=>"3", "content"=>"first"}, "1"=>{"id"=>"4", "content"=>"first"}, "2"=>{"id"=>"5", "content"=>"second"}}}
----------------
Unpermitted parameters: 0, 1, 2
{}
-----------

【问题讨论】:

  • 像这样answer 修复你的 Ajax 调用,你就完成了。

标签: ruby-on-rails strong-parameters


【解决方案1】:
params.require(:menu_items).permit(:id, :content)

试试这个。

【讨论】:

  • 谢谢,但不起作用
  • 从日志中粘贴你的参数
  • Unpermitted parameters: 0, 1, 2
  • 粘贴参数..不是警告..
  • @ChiangDi 粘贴应用程序完整日志。
猜你喜欢
  • 1970-01-01
  • 2016-06-10
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-20
相关资源
最近更新 更多