带有JSON请求的强参数

时间:2017-05-03 12:56:29

标签: ruby-on-rails json ruby-on-rails-5 strong-parameters

我认为如果请求被识别为JSON,Rails会自动识别/解析JSON参数。但请求如下:

Processing by Api::V1::LinksController#create as JSON
Parameters: {"link"=>"{\"title\":\"My first title\"}"}

以下的params方法:

def link_params
  params.require(:link).permit(:title)
end

导致此错误:

  

NoMethodError(未定义方法`permit' for" {\" title \":\"我的第一个标题\"}":String ):

任何想法,这里的约定是强大的params + json工作将非常感激。

更新

以下是发出请求的代码(使用http客户端axios):

axios({
  method: 'post',
  url: '/api/v1/links.json',
  responseType: 'json',
  params: {
    link: {
      title: "My first title"
    }
  },
})
.then( (response) => {
});

1 个答案:

答案 0 :(得分:1)

根据文档here

axios({
  method: 'post',
  url: '/user/12345',
  data: {
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
});

params:替换为data: