Rails 4来自控制台的Ajax POST,强大的params无法正常工作

时间:2014-11-10 15:23:20

标签: jquery ruby-on-rails ajax

我试图通过AJAX发帖。我的Formal控制器只有一个字段:ids

我列出了白色参数:

def formal_params
  params.require(:formal).permit(:ids)
end

json = {formal:{ids:["2134"]}}
$.ajax({
    url: '/formals/create',
    type: 'post',
    contentType: 'json',
    accept: 'application/json',
    dataType: 'json',
    data: json
    });

我已尝试了100种变体,每次都获得param is missing or the value is empty: formal

我做错了什么?如果这是一个愚蠢的错误,请告诉我。我会添加您需要的任何信息......我知道这可能是重复的,但我已经把头发拉了几个小时。请指教。

1 个答案:

答案 0 :(得分:0)

如果ids是一个数组,那么您的强参数应如下所示:

params.require(:formal).permit(ids: [])

来自strong parameters docs

  

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

     

params.permit(:id => [])